直到刚才,我才想明白大家对 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之路 (阅读:11668)
- PHP程序的执行流程 (阅读:8813)
- Nginx+FastCgi+Php 的工作机制 (阅读:8599)
- PHP业务逻辑层和数据访问层设计 (阅读:6236)
- PHP的优势 (阅读:5897)
- 深入了解php底层机制(-) (阅读:5131)
- PHP将死,何以为继? (阅读:4593)
- PHP最佳实践 (阅读:4621)
- 总结的一些PHP开发中的tips (阅读:3902)
- PHP在金山游戏运营中的应用 (阅读:3477)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:zhengkai@gmail.com (郑凯) 来源: Soulogic 灵魂逻辑
- 标签: PHP
- 发布时间:2011-08-03 13:32:12
- [11] 解决 ubuntu 的 /etc/hosts
- [9] 文言文白话文互转:文言文转白话文(现代文),
- [8] 用邻接表实现无向图
- [7] Http/2知识图谱
- [7] 领导需要比下属更懂技术吗?
- [6] 一个 VLA (可变长度数组)的实现
- [6] 聚类算法之ISODATA
- [6] arduino-蓝牙各种版本类型及费用对比
- [6] JVM内存结构
- [6] 海量数据面试题举例