因为他们不考虑代码复用和 bug 预防。传入数据不做 schema validation;和 db 交互直接手写 sql 而不是使用 query builder;不考虑错误处理;出了 bug 再改而不是考虑如何预防 bug。直接用自带函数然后用各种 ad-hoc 的方式解决问题 (比如 json_encode 对于空 array 或者 空 object 的处理)。
但是我即使能够理解这些也不能理解为什么有人觉得 php 概念少。Warning, Notice, Parse Error, Fatal Error 要理解对吧;C 扩展怎么装要理解对吧(否则你怎么拿 multibyte string 扩展处理 utf8);然后各种情况下 & 要理解对吧;然后 seterrorhandler 之类的要理解对吧;PHPUnit 的 ad-hoc 设定要理解对吧;然后所谓的 PHP data constructor 的 array,isset 等等与函数的区别要懂对吧。!![]
这种坑要懂对吧。 然后像是 array(__NAMESPACE__, "funcName"
也得懂吧。同时支持 psr-1 和 psr-4 的注意事项要懂吧。
然后你就算懂了这些,有时候懒得写工具函数的时候,你去找了一找;然后发现像是 camelCase -> anyCase / anyCase -> camelCase 这么简单的工具还要自己写。
看到有人吹 php 自带函数的,连 find 都没有的标准库还好意思吹。