background image

能够直观的支持除数据库操作之外的

Model 层(比 CodeIgniter 和 CakePHP 强),并

且能够很轻易的使用

Loader 功能加载其他新增加的 Class;Cache 功能很强大,从前端

Cache 到后端 Cache 都支持,后端 Cache 支持 Memcache、APC、SQLite、文件等等方
式;数据库操作功能很强大,支持各种驱动(适配器)

2. 文档很全,在国内社区很成熟,并且目前不少 Web 2.0 网站在使用,学习成本中

缺点:
1. MVC 功能完成比较弱,View 层简单实现(跟没实现一样),无法很强大的控制前

端页面

2. 没有自动化脚本,创建一个应用,包括入口文件,全部必须自己手工构建,入门成

本高

3. Zend Framework 作为一个中型应用框架问题不大,也能够勉强作为大型应用的

PHP 框架,但是作为一个很成熟的大型 PHP 框架来说,还需要一些努力

评价:
作为官方出品的框架,

Zend Framework 的野心是可以预见的,想把其他框架挤走,

同时封装很多强大的类库,能够提供一站式的框架服务,并且他们的开发团队很强大,完
全足够有能力开发很强大的产品出来,所以基本可以确定的是

Zend Framework 前途无

量,如果花费更多的时间去完善框架。同样的,

Zend Framework 架构本身也是比较优雅

的,说明

Zend 官方是有很多高手的,设计理念上比较先进,虽然有一些功能实现的不够

完善,比如

View 层,自动化脚本等等,这些都有赖于未来的升级。总体来说 Zend 

Framework 是最值得期待的 PHP 框架,当然,你目前要投入你的项目中使用也是完全没
问题的。

Symfony
优点
1. Symfony 是我了解的 PHP 框架中功能最强大的,而且我使用时间比较长,但是很

多功能还是没有挖掘出来;它完整实现了

MVC 三层,封装了所有东西,包括 $_POST,

$_GET 数据,异常处理,调试功能,数据检测;包含强大的缓存功能,自动加载 Class
(这个功能很爽),强大的

i18n 国家化支持;具有很强大的 view 层操作,能够零碎的包

含单个多个文件;非常强大的配置功能,使用

yml 配置能够控制所有框架和程序运行行为,

强大到让人无语;能够很随意的定义各种自己的

class,并且 symfony 能够自动加载

auto load)这些 class,能够在程序中随意调用;包含强大的多层级项目和应用管理:

Project --> Application --> Module --> Action,能够满足一个项目下多个应用的需要,
并且每层可以定义自己的类库,配置文件,

layout;非常强大的命令行操作功能,包括建

立项目、建立应用、建立模块、刷新缓存等等;

2. Symfony 绝对是开发大型复杂项目的首选,因为使用了 Symfony,将大大节约开

发成本,并且多人协作的时候,不会出现问题,在

Project 级别定义好基础 Class 以后,

任何模块都能够重用,大大复用代码

缺点:
1. 数据库操作 model 采用了重量级的 propel 和 creole,不过在我测试的版本中已

经把他们移到了

addon 里,可用可不用

2. 缓存功能无法控制,每次开发调试总是缓存,需要执行 symfony cc, symfony rc 

来清除和重建缓存;

3. 效率不是很高,特别是解析模板和读取配置文件的过程,花费时间不少;
4. 学习成本很高,并且国内没有成熟的社区和文档,连中文手册都没有,相应的要掌