十款PHP开发框架横向比较
十款PHP开发框架横向比较
PHP开发框架近来在PHP社区中成为讨论的热点,几乎每天都在推出新的框架。面对市面上超过四十种的开发框架,你很难判断究竟哪一款最适合你,尤其是在这些框架所提供的功能不尽相同的时候。
本文将引导你遍览十款最热门最流行的开发框架,并对它们作出横向比对。我会先列出一张所有框架的一览表,而后我们将对它们逐个简述。
概览
以下你看到是这十款开发框架的一览表,列举了他们各自所提供的功能。
Framework Comparison Chart
Framework PHP4 PHP5 MVC1 Multiple DB''s2 ORM3 DB Objects4 Templates5 Caching6 Validation7 Ajax8 Auth Module9 Modules10 ZendFramework - - - - - CakePHP - - Symfony Project - - - Seagull Framework - WACT - - - - - Prado - - - - PHP on TRAX - - - - - ZooP Framework - eZ Components - - - - - CodeIgniter - - -
#1: Indicates whether the framework comes with inbuilt support for a Model-View-Controller setup.
#2: Indicates whether the framework supports multiple databases without having to change anything.
#3: Indicates whether the framework supports an object-record mapper, usually an implementation of ActiveRecord.
#4: Indicates whether the framework includes other database objects, like a TableGateWay.
#5: Indicates whether the framework has an inbuilt template engine.
#6: Indicates whether the framework includes a caching object or some way other way of caching.
#7: Indicates whether the framework has an inbuilt validation or filtering component.
#8: Indicates whether the framework comes with inbuilt support for
#9: Indicates whether the framework has an inbuilt module for handling user authentication.
#10: Indicates whether the framework has other modules, like an RSS feed parser, PDF module or anything else (useful).
#1: 表示框架是否内建模型-视图-控制器。
#2: 表示框架是否无需修改即可支持多数据库。
#3: 表示框架是否支持对象记录映射器,通常这是ActiveRecord的封装包。
#4: 表示框架是否包含其它数据库对象,比如TableGateWay。
#5: 表示框架是否内建模板引擎。
#6: 表示框架是否缓存对象或者其他缓存机制。
#7: 表示框架是否内建校验或过滤组件。
#8: 表示框架是否内建Ajax支持。
#9: 表示框架是否内建用户验证模块。
#10: 表示框架是否包含其他模块,例如RSS feed解析器、PDF模块或其他实用模块。
如果上表所列有不当之处,敬请斧正。
Zend Framework
Zend Framework还相当新,尚处在beta阶段(译者注: 相对于作者写这篇文章之时),因此还有些功能有待完整(比方说用户验证模块),但它本身已经有不少功能了。尽管从对比表上来看它没占到什么便宜,可 Zend Framework确确实实涵括了一些处理PDF文档、RSS源、在线服务(Amazon, Flickr, Yahoo)的模块,甚至更多。Zend Framework同时也包含了数个不同的数据库对象,极大地便捷了对数据库进行查询的实现,甚至免去你手写SQL查询脚本的麻烦。
当前,Zend Framework并未完全支持ORM,但是开发人员仍然陷入在是否要添加ORM层的争论中。也许在将来会实现这些功能,你就可以编写自己的ORM封装包,投稿到社区,并有机会将之整合入框架的未来版本。
Zend Framework看上去前途一片光明,而且它同时又修正了一些常见的PHP问题。也许稳定版本就可以在对比表里面表现得更出色了!
CakePHP
CakePHP
补充:Php教程,Php常用代码