直到刚才,我才想明白大家对 PHP 的用法是如此迥异
导致一系列悲剧的起因是,大家的母语不同(当然,我是说程序的母语)。
对于早期的 PHP 使用者来说,大多数人在接触 PHP 之前都早已熟悉了编程,因此他们在接触 PHP 时,关心的不是 PHP 能干什么、该干什么,而是 PHP 跟他之前掌握的语言有何不同、以及怎么消除这种不同。
例如,Smarty 是最令我疑惑的东西,我完全理解不了为什么要用这种脱裤子放屁的东西,而且想当初模板类有那么多,今天我才明白,基本上是个语言都会有模板类,所以他们在用 PHP 的时候,也理所应当的认为要搞一个,而一直在回避最基本的问题:PHP 是模板语言。所以他们借助 PHP 实现了另外一套叫 Smarty 的语言。搞得我很自卑,因为我一直不会用 Smarty,所以招人的时候总要问一句“会 Smarty”么,我想的是只要有人会就可以了。
另外一个东西,我不知道应该单独批判 Controller 还是整个 MVC。当我写了几年 PHP 后,突然大家都开始自己解析 $_SERVER["REQUEST_URI"] 并 require 对应的文件,说这叫统一入口,这事也让我很惊奇。我相信有太多的人碰到过为了加个 google webmaster 的验证文件之类的东西而不得不去改动 PHP 文件的情况,这真是自找。后来我才明白,在很多语言中,整个 web server 都要自己实现的,所以解析 URL 是份内要做的事情。但 PHP 是寄生于 web server 上,本来不需要惦记这个问题,最多借助 web server 的 url writer 是为了美化,而不是为了功能。
还有一些错误的优化方向,例如有人提议不要使用 require_once 而只用 requrie,因为前者会增加一个类似 in_array() 的操作,这真让人崩溃,也许这种开销在操作系统的内核中会被循环给放大,但是对于 web 开销来说,九牛一毛都谈不上,让 facebook 的程序员在他们代码里这么替换,能省出几台机器?对于你实际的应用,能省出两条内存么?够你一上午的工资么?
这些扯的远了。鉴于 PHP 各种奇怪的方式使用着,我只能猜想这一现象是映射太多不同语种的程序员对 PHP 的不同理解,很多写过点 C 或 Java 的人用 C 或 Java 的方式写 PHP,并教那些新入行的程序员也以这种方式写 PHP,在他们眼里 PHP 是稍微差一点的 C 或 Java,因为 PHP 还实现不了某些特性,但很少会去想,他们为什么要用 PHP,或许仅仅出于被迫,而不是自己的一种选择?
建议继续学习:
- 我的PHP,Python和Ruby之路 (阅读:11690)
- PHP程序的执行流程 (阅读:8836)
- Nginx+FastCgi+Php 的工作机制 (阅读:8633)
- PHP业务逻辑层和数据访问层设计 (阅读:6251)
- PHP的优势 (阅读:5907)
- 深入了解php底层机制(-) (阅读:5150)
- PHP将死,何以为继? (阅读:4615)
- PHP最佳实践 (阅读:4648)
- 总结的一些PHP开发中的tips (阅读:3929)
- PHP在金山游戏运营中的应用 (阅读:3494)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:zhengkai@gmail.com (郑凯) 来源: Soulogic 灵魂逻辑
- 标签: PHP
- 发布时间:2011-08-03 13:32:12
- [149] 招聘技巧一二
- [15] Linux常用系统信息查看命令
- [13] 最近总结的一些技巧(vim,python,s
- [12] 在FreeNAS/BSD搭建基于Nginx+
- [12] Redis和Memcached的区别
- [12] 关于Linux的文件系统cache
- [11] 个人开公司的流程,以后用得着
- [10] 我对技术方向的一些反思
- [10] 每个程序员都应该知道的8个Linux命令
- [10] ps - 按进程消耗内存多少排序