前几天,法国工程师Francois Zaninotto在其雇主公司Sensio的赞助下开发了一套web应用开发的开源框架: Symfony发布了。
Symfony是个基于PHP5的面向对象的Web Framework,充分借鉴了Ruby下的Rails,Python下的Django,它基于Mojavi(另外一个PHP MVC Framework)的V3版本原形开发独立出来的,Symfony的特性简单列一下:
模版实现
缓存管理
多环境支持
部署管理
程序框架快速构建
支持智能URL
多语言国际化支持
对象模型(关系数据库与对象映射)及MVC支持
支持Ajax
内嵌用户会话管理
内置分页功能
表单验证
采用YAML文件格式配置
...
(可以详细参考它的文档及Howto)相比较而言,它比同类型的CakePHP的文档要齐全些,代码量也庞大的多,结构也复杂些,OO得更OO,CakePHP很小巧(我目前的边学php边coding的一个sandbox项目就是用它实现了50%,问题也不少),Symfony使用了其他PHP开源项目就有:
Creole, for the database abstraction layer
Pake, for the command-line tool
Prado, for the i18n support
Spyc, for YAML parsing
摘录几句话:
The clean design and code readability will keep your delays short. Developers can apply agile development principles (such as DRY, KISS or the XP philosophy) and focus on applicative logic without losing time to write endless XML configuration files.
行至今日,各个Framework都在相互借鉴。什么CRUD,什么O/R Mapping,什么约定俗成规范,什么MVC...
决定试用一下,改成Symfony看看效果(对于我来说,我需要一个PHP下的易于开发,易于维护的web框架)。