这个其实是源于 javaeye 上的这个讨论:http://www.javaeye.com/post/886707。最开始吸引我的是在 rails 板块上诸多专业玩 java 和 ruby 的人是如何评价 php 以及 php 框架的。在讨论中发现有一些值得学习和借鉴的地方。所以推荐大家完整阅读这个帖子。从技术性、知识面和娱乐性来讲,都是质量很高的。
我就简单说一下我对于 php 框架繁荣的看法:
1. “草根阶级”向“企业开发俱乐部”转变的必然途径。
用 php 的企业多了,市场占有率高了,经济效益就体现出来了。但是仅仅靠做做企业网站,搞搞论坛这个蛋糕还太小。同时 B2B、B2C 的繁荣,自然带来已有网站的改造问题。php 迈着坚定的步伐冲向“俱乐部”大门。但是门卫说了“贫民与狗不得入内”。于是 php 的规范化、可维护性发展如火如荼的展开了。首先是学习 java,从语言层面引入 java 的优点。然后是开发规范的建立,涌现出大批商业框架。包括 php 的后台老板 zend,也推出自己的 Zend Framework。
2. php 从骨子里就是一个善于借鉴吸收的语言。
php 诞生伊始,是 perl 的跟班。后来 perl 跟班作得不爽了,就直接找到 perl 的老大 c 做跟班。这一作就是十几年。从最初跟 perl 学习,到后来跟 c 学习。然后 java 火了,跟 java 学习。再后来框架开发逐渐成为主流的时候,又开始搞有 php 特色的框架主义。当然还是延续原有风格与方法,好的东西一并吸收。吸收不良了再做改造。
3. php 框架是为了让php应用更加简单出现的。
我在 2004 年的时候搞过自己的一个小框架,实际上是整合了大量 pear 包的功能,自己利用 call_user_func_array 函数作为路由解析。使用 smarty 作为前端脚本。虽然有很多不足,但是在给朋友开发的几个项目中,“简单”这个原则体现得非常好。在只有美工和系统管理员的情况下,对网站进行了多次改版。并不是框架让我的朋友快速的学会了 php,而是框架让跳出语言细节的开发成为了可能。php 由于其发展方式决定了没有一个统一的功能调用界面,各种明明方式、调用方式混杂在一起,许多“学院派”对此尤为诟病。但是框架从一个新的高度上统一了这些本不统一的调用。从而使得开发更加简单、快捷。
好吧,最后我再说说许多 javaer 和 rubier 极力想证明的:“php 唯一的好处就是轻快,在套上沉重的框架枷锁后,它将没有任何优势同 java 或者 ruby 竞争。”其实这个问题就像老廖永远打不完的口水仗一样(老廖别急,这里纯粹调节气氛),没有最终的答案。不过有几点可以探讨:
1. php 已经有极高的市场占有率。并且回头客户很多。
2. php 在大型网站的应用不在少数,虽然许多是改造过的 php。
3. 性能在硬件发展迅猛的今天已经不是当年 64K 内存 2MHz 计算能力需要精打细算的年代。有更多事情远比性能重要。曾经道听途说过一种说法“与其高新聘请一个高级人才来优化程序,节约几十万的硬件成本。不如多花点钱用好硬件,弥补程序的不足。”想想也对,人才是在所有开发中最不靠谱的因素。
最后,我想用一句说得已经有点烂的话结束这个讨论:“事物总是在它应该出现的地方出现,应该消失的地方消失。”
Leave a Reply