对php设计的展望,PHP开发框架的现状和展望

PHP开发框架的现状和展望

2010-5-19文字大小:大中小

引言:  随着Ruby on Rails的火爆,PHP这个流行的Web使用脚本语言也出现了大量的新一代开发框架。与此同时,国内PHP开发者也开始紧跟国外成长,推出了不一样的开发框架。

Ruby on Rails催生变革  在RoR流行之前,PHP领域也有不少开发框架,比方 Mojavi、WACT、PHPMvc和Seagull等。这些框架虽然也采用了MVC模式、数据库抽象层等技能。但由于当时PHP本身不像现在这样流行,所以这些框架都没有得到大量使用,结尾 归于沉寂。  而在体会到RoR提供的高速开发能力后,PHP社区像被注入了兴奋剂。各种使用技能和开发框架层出不穷。

新一代框架的诞生  PHP社区在被RoR震晕后,没有陷入过多的争论。而是立即行动起来,开始了新一代框架的设计。最先出现的第一批框架几乎都是RoR的克隆。例 如PHP on Trax(连名字都借鉴Ruby on Rails)和TaniPHP、Akelos等。这些框架最大的特性就是力求100%克隆RoR,不管是采用的架构、设计模式,仍旧运用要领。  这多个框架一开始确实吸引了开发者的留心,但随着开发者的深入明白,这些框架头上的光环逐步褪色。晦涩难懂的架构、糟糕的性能,以及太多的限定,让这些框架难以在实际项目中运用。  此时,许多PHP开发者认为能够借鉴RoR的设计思想,但不应照搬RoR的结构和实现。为此,一些同样推崇高速开发的框架开始在PHP社区出现。这些框架中,CakePHP和Symfony可谓佼佼者。

CakePHP(http://www.cakephp.org/)  CakePHP充满了RoR的影子,从ActiveRecord模式到视图的布局维护都和RoR特别相似。并且 CakePHP一开始也尝试实现与 RoR一样的许多东西。但CakePHP的开发团队后来发觉 PHP语言和Ruby语言存在庞大区别,因此RoR中的许多设计即便能够在PHP中实现,也是 缺乏实用价值的。  CakePHP在成长中逐步走出了RoR的阴影,开始探索更能发挥PHP语言本身优势的架构和实现。因此有一段时间CakePHP的API发生了剧烈的改动,以致其他开发者纷纷停下脚步处于观望状态。  但由于前期一些架构的不合理和对RoR太多的模仿,导致CakePHP的核心部分越来越难以理会,运行性能也不尽人意。并且 CakePHP将一个庞大的数据库操作对象作为所有业务对象的基本。这虽然利于高速开发,但却导致对业务逻辑对象的测试特别难处。  对于较小型的项目,CakePHP特别理想。精彩的高速开发能力、丰厚的API和详尽的文档都能够帮助开发者很快完成工作。但随着项目规模的添加,CakePHP的局限性也变得突出。

Symfony(http://www.symfony-project.com/)  Symfony是一个特别成熟的框架,大量运用 了已有的开源项目。Symfony运用 Mojavi的核心代码实现了框架的MVC模式,运用 Propel作为数据库抽象层。Symfony不仅功能强悍,并且对Ajax有彻底的支持。加上官方站点提供的大量文档和教程 ,并拥有一个活跃的社区,因 此受到许多开发者的欢迎。  但是,Symfony最大的疑问也在于运用了太多风格迥异的开源项目来组合成框架。由于Mojavi和Propel本身都相当庞杂,因此Symfony的结构特别庞杂,难以理会和学习。  不过对于期盼挑选一个框架作为企业内部系统基本架构的企业来说,Symfony的成熟度、丰厚的文档和活跃的社区都是值得思虑的。毕竟企业内部系统更为看重的是稳定性和长期的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值