发新话题
打印

我眼中的ZF(娱乐版)

我眼中的ZF(娱乐版)

作者:老王

在国内,当愤青网友想表达对政府的不满却又不想被G*F*W“和谐”掉的时候,字里行间会使用ZF作为“政府”的简称(拼音简写)。

对于广大PHPer而言,ZF还有另一个意思,那就是“Zend Framework”的简称(英文简写)。

乍一看,“政府”和“Zend Framework”是两个风马牛不相及的名词,但实际深层次上,他们有一个重要的共性:那就是都以“官方”自居。

“官方”就意味着“权威”,但“权威”却总做坏事。下面,让我们唠叨一下“ZF”的数宗罪:

一:言而无信

前段时间,中国财政官员先是出来“辟谣”说短期内不会提高印花税,没过几天却在深更半夜搞小动作,导致股民损失惨重。

Zend Framework也是一样。在Zend Framework发布之前,曾给广大PHPer画了一个看上去很美的饼:一个ActiveRecord的PHP实现。可当Zend Framework发布之后大家才发现,这不过是一个很普通的DAO实现罢了,不是说DAO实现就差劲,但是作为“官方”,不能信口雌黄。最近,越来越多的开发者开始认为Zend Framework已经不是框架,而是一个类库的集合,面对这种情况,Zend Framework团队出来辟谣说绝对不会。我们是否还应该相信他们的话呢?!

二:不自量力

我在成都生活过一段时间,当时地方政府想把成都建设成为一个花园城市,恰好成都很多街道都是用花来命名的。于是政府就搞了一个文件,说街道名叫什么花,街道两边就种什么花(NND,这真是人有多大胆,地有多大产?!)。我住的那个小区地处百花街,按道理就要在街道两边种百种花,但好好想想这符合实际么?不是种一种花就能活一种花,热带的花你种在温带能活么?就算活了你能培育好它们么?

Zend Framework也是一样。打开Zend Framework的软件包,里面能找到各种各样的类库:如制作pdf的类库,还有诸如Akismet, Amazon, Audioscrobbler, Delicious, Flickr, Simpy, StrikeIron and Yahoo!等WebService相关API。这是框架该做的事情么?就算做好了,以后能保证长期维护它们保持稳定安全么?更重要的是,这里面相当一部分功能都是和Pear或者其他开源类库功能重复的,面对重复发明轮子的行为,我们总是要发出疑问的,Zend你为什么要这么做?难道你想剿灭Pear,建立大东亚共荣圈?!

三:自欺欺人

不知道从何时起,街道两边开始挂着很多横幅,上面写着诸如“建立和谐社会”之类的标语,在我看来,如果要达到“和谐”无非有两种方式:一种是随着社会的发展,老百姓的素质真正提高了,大家礼尚往来,相敬如宾,没有“史上最牛的钉子户”,没有“装疯卖傻的芙蓉姐姐”,于是社会和谐了,但怎么听怎么觉得这是在描绘未来的共产主义,马上到2008年奥运会了,估计8002年能实现。另一种方法就是报喜不报忧,达到表面的“和谐”,于是,每天的新闻充斥这祖国形式一片大好之类的报道。这是自欺欺人的和谐,或者好听点说是有中国特色的和谐。

Zend Framework也是一样。在这个号称官方的MVC框架中,我们看不到M在哪里。或者说Zend Framework的M相当松散,它推崇的理论是胶水概念,M里用什么就拿过来粘上,好像盖房子一样,一块砖一块砖的垒,中间用泥巴粘上,但是别忘了,现在盖大楼都是钢筋混凝土结构了。虽然Zend Framework追求的就是All In One的效果,但是恰恰在这一点上,它缺失了最重要的东西,抛开它类库的嫌疑不说,即便算它是框架,也不过是一个先天残疾的框架。

说了这么多,本意并不是想贬低Zend Framework,只是觉得Zend Framework现在的发展思路有些偏差,就好像一个房子地基打得有问题,房主却在忙着装修,所以提些逆耳的忠言罢了。

TOP

太棒啦!

看得我心中敬佩之情尤然而升啊。。小弟还是个php菜鸟,这么一说都不知道该学哪个框架了
not every one can become a great artist. but great artist can come from anywhere.

TOP

就是,学什么框架呀?在看cakePHP,可中文资料太少了。

TOP

在ZF, Symfony, CakePHP, CodeIgniter, PRADO, ThinkPHP之间很是徘徊了一段时间,越挑越晕。我准备用PRADO了,楼主觉得怎么样能不能都评价一下?

[ 本帖最后由 celleo 于 2008-3-13 22:28 编辑 ]

TOP

ZF大体上看了一下,个人感觉和RoR相比走的是另一条路子。
RoR的确是ActiveRecord、MVC相当棒,追求CRUD傻瓜化,强调的是DSL。用于建模超级棒,用于实际则很多功能还是要自己集成类库。
ZF则是追求功能大而全,也就是让自由散漫的PHPer能够以一种标准化的方式合作开发,以解决PHP搞“大项目”的问题。

ZF刚刚中了Jolt,含金量应该很足,值得大家深入淘金。

TOP

发新话题