十款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