Zend Framework初体验
作者:老王
决定学习ZF了,下载,解压缩,发现很多内容和PEAR有些类似,不禁会有这样的疑问,ZF到底是框架还是类库,如果是框架,整了这么多杂七杂八的功能做甚?!连Flickr,Yahoo,Amazon等等的API都包含了,也过了吧,这些是框架该搞的事情么?!这么搞多少让人觉得ZF == PEAR NO 2,ZF的目标似乎是打造一个All in one的框架,我记得学习面向对象的时候有一个OOP的坏味道叫God class,现在ZF给我的感觉就是一个God framework。
早在学习ZF之前,就听人说过,目前ZF的核心总是变来变去,很不稳定。今天没想到就遇到了,在网上找了一个教程,想了解一下ZF的大致用法,可是环境搭建好了,第一句代码就抛出异常:
include 'Zend.php';
到处找这个文件也没找到,结果baidu才知道新版本的ZF把这个文件分解了,NND。还好,找到一个兄弟的新版教程,我的ZF学习之旅总算没有夭折。
总体来看ZF比较简单,它的MVC实现和CakePHP没有什么差别,但是涉及具体技术的比较,如自动化CRUD操作,ZF还是稚嫩了许多,连根据表关系自动生成LEFT JOIN查询的功能都没有,这一点上ZF也只能和CodeIgniter相视无语了,发展这么久的“准官方”框架有这样的表现不得不说让人大跌眼镜。
具体来看,ZF的M实现不仅包括了Zend_Db_Table还包括了Zend_Db_Table_Row等等,大有把PoEAA中Martin大爷的知识都用PHP实现一遍之感,但感觉都很简陋。如果说ZF是实战派,它却不及CakePHP,如果说ZF是学院派,它又和Symfony差得远。这样两头不着边际的现实多少让这个“官方框架”有些尴尬。
特别是看到类似下面这样的代码,我更是恨铁不成钢啊:
<?php$select = $db->select() ->from( ...specify table and columns... ) ->where( ...specify search criteria... ) ->order( ...specify sorting criteria... );?>巧得是,这样龌龊的勾当也是CodeIgniter的拿手好戏,唉,它们俩真是难兄难弟啊。
改天再仔细看看ZF,希望能找出点优点。
搜索更多相关主题的帖子:
Framework Zend framework Yahoo 面向对象