整理收藏夹,翻到一条2013年存的链接,php100 的PHP入门视频。点开是404,去站内找,页面停在很多年前的样式,最新一条更新还写着PHP 5.3。

php100 在当年确实是很多人的入门站,视频讲得慢、例子多,配套的CMS二次开发课程也实用。问题在于它讲的那套东西,跟现在的PHP 8差了三个大版本,照着敲大概率报错。

哪些代码直接失效

最典型的是 mysql_query、mysql_connect 这一组函数,PHP 7 就移除了,现在只能改用 mysqli 或 PDO。register_globals 早没了,$_GET 直接当变量用会拿到 null。还有 each()、create_function(),都在废弃列表里。老视频里满屏的短标签 <? 也默认关闭了。

判断一份资料是否过时

看三处:函数名带不带 mysql_ 前缀,有没有出现 namespace 和 Composer,参数上有没有类型声明。三样都没有,内容基本停在2015年之前。另外看示例用的是不是 mysqli 预处理,这决定了它讲不讲SQL注入。

现在该看什么

语法查 php.net 中文手册,函数页底部的用户注释比很多博客靠谱,注意看顶部的版本标注。框架直接读官方文档,Laravel 和 ThinkPHP 的中文文档质量都行。想系统学,找近两年出版、明确写 PHP 8 的书。

想跟着练,本机环境先升级

照着老视频练手,最容易卡在环境上。集成环境装的还是 PHP 5.6,新的语法直接报解析错误。装一个能切版本的面板,把 PHP 8.1 和 MySQL 8 配起来,再回头看视频里的例子,哪些能跑一目了然。跑不通的,就当反面教材记住。

视频里的项目结构还能借鉴

分目录、抽公共函数、模板和逻辑分开,这些思路没有过时。真正过时的是安全写法:拼接SQL、明文存密码、直接信任用户提交的参数。这几处别照做,剩下的可以看。

老视频的价值是思路和项目结构,代码别照抄。真要跑,先看那行函数在当前版本还在不在。