游客发表
打开搜索引擎敲下“php教程网”五个字,程网出来的程网结果能翻几十页。我数过,程网前二十个链接里,程网至少十二个挂着“从入门到精通”的程网标题,点进去一看,程网第一章还在讲HTML基础。程网这不是程网PHP教程网,这是程网网页设计启蒙班。
真正靠PHP吃饭的程网人,不会去这种地方学。程网他们翻手册、程网读源码、程网在GitHub上扒别人的程网项目。PHP官方文档中文版才是程网最大的教程网,只是很多人被“教程”两个字骗了,以为必须有人把知识嚼碎了喂过来。
我第一份PHP工作面试时,面试官问我怎么处理表单提交。我说用$_POST接收,然后htmlspecialchars转义输出。他点点头,又问如果数组嵌套呢。我卡住了。回去翻手册才发现,filter_input配合FILTER_REQUIRE_ARRAY能处理多层结构。这些细节,那些“三天学会PHP”的教程网从来不提。
有个叫“PHP之道”的网站值得一看,它不教你写代码,只告诉你哪些坑别踩。比如别用mysql_*函数,别在循环里查数据库,别把密码明文存进用户表。这些规矩比语法重要得多。语法三天能背完,坏习惯三年改不掉。
另一个现象是教程网上的代码太干净。真实项目里,你得处理用户上传的图片,得兼容PHP 5.6和7.4的差异,得给老代码写单元测试。教程网上的User类永远只有name和email两个属性,现实中的用户表有三十七个字段,其中六个是历史遗留的冗余列,没人敢删。
我见过一个教程网,用echo输出HTML写了整整八章。评论区有人问:“老师,为什么不用模板引擎?”作者回复:“新手先学基础。”这就像教人开车,先让你推着车走三个月,说这样能理解轮胎的摩擦力。
PHP的生态早就不一样了。Composer管依赖,PHPUnit写测试,Xdebug调性能。教程网还在讲include和require的区别,这没错,但只讲这个就是耍流氓。就像教做菜只教切葱,切得再漂亮也端不出一盘菜。
有个朋友照着教程网做了个留言板,上线第二天被灌了八千条垃圾评论。他问我为什么。我看了代码,INSERT INTO comments直接拼接$_POST['content'],连mysqli_real_escape_string都没用。教程网第八章讲“表单处理”,示例代码就这么写的。这不是教程,这是事故说明书。
选教程网有个笨办法:看它有没有讲PDO预处理语句,有没有提password_hash,有没有说composer.json长什么样。这三样都没有,关掉页面。PHP早不是2005年那个样子了,教程网得跟上。
最后说个真事。我常去的那个PHP教程网,站长去年把整站改成了静态HTML,说维护不动了。底下有人留言:“那你之前教我们的动态网站呢?”站长回:“动态网站用WordPress就行。”你看,连教PHP的人都转行了。但PHP还在跑,全球七成以上的网站后端还是它。教程网可以过时,语言本身不会等你。
友情链接