PHP头条
热点:

2011年的新时代

为了改善这种情况,人们终于选择要做一些事情。主要是在PHP 5.3的基础上从头开始重写框架。建立新的标准,统一所有框架之间的接口,扔掉所有的遗留问题。这些听起来容易,但只有通过这些事情,我们才能进入框架的新时代。

在CakePHP诞生之前我没有用过任何PHP框架,所以我打算把它算作一个里程碑(其实我有些怀疑CakePHP就是第一个PHP框架,当然你不会把Drupal当做框架的)。从CakePHP开始,至今六年过去了,这六年我称为第一个时代。2011年标志着第二个时代,全新的变革终将发生,我们会迎来各种各样的版本发布和公告。

有趣的是,2011年的PHP好像不再是PHP了,或者可以说不再只是PHP了。有了Nginx和CouchDB这样的新工具,恼人的LAMP stack用的越来越少了。如今集成功能和互操作性成为了关键因素。同样,PHP 5.3更像是一个全新出笼的野兽,它能够给你强大功能,但是并没有真正的支持向后兼容。

我们来解决它,好吗?

PHP框架的新时代

图三:来用GIT吧。

Git支持许多PHP框架,给我印象最深的是Symfony,因为它们已经成功的吸引到大量的贡献者,而对比前几年,PHP框架最近步伐又快了很多。

PHP框架们在不停的完善着各种小修改。首先,所有的魔术函数现在已经不见了,显式定义随处可见。此外,人们更多的考虑使用小尺寸的核心,通过扩展和类库来附加功能,这是一个了不起的办法,更易于使用框架,减少内存占用。

性能是PHP框架面对的主要问题,大部分框架在新版本中都做了提升性能的安排。比如Symfony,在前端做了改进用来帮助管理资产(JavaScript和CSS),在PHP端由于清除了魔术函数和清理陈旧代码,通过PHP 5.3得到了巨大的性能提高。

新功能

显然,所有新的语言功能都包含在其中了,例如大多数的框架已经开始支持命名空间,还有更早出现的PSR-0现在很好的集成到框架中,匿名函数也以各种各样的方式在框架中找到了它们的位置。

依赖注射容器(Dependency injection container)和Annotation接口是我想提及的两个,它们能够改变你的编程方式。在Symfony中我很喜欢使用它们,现在其他的框架也正在迎头赶上,开始把它们集成进去。这些结合上新的PHP功能,就可以创建出非常干净的微型框架应用。

我并不喜欢直接把Java的功能列表移植到PHP来,Java的工作方式不同(而且需要1GB内存)。我们看到它正一步步走来,但我有点担心,因为我知道PHP喜欢轻一点的系统,而不是复杂的对象。这些功能听起来很炫,但实际上它们带来的问题比解决的要多。

因此,什么时候?

PHP框架的新时代

图四:Symfony2发布

Zend Framework 2.0正在路上,但还需要一段时间。由于ZF有一个庞大的代码库,他们首先要做是把它转换成命名空间代码。完成之后,还要开始重新构建原有功能和新功能。ZF目前正在做MVC方面的工作,我希望今年年底最终版能够发布。

Lithium会来的快些,它还在dev模式,但似乎已经很接近完成了。Lithium是一个和常规完全不同的框架,所以很值得看看。最触动我的是它的AOP实现,显然它只支持PHP 5.3,但它对CouchDB和MongoDB支持的相当不错。

在我看来Symfony2依然在领先群雄。目前它正在Beta2版,但最终版也只是几个月的事儿了。Symfony2功能列表很难总结,所以值得去它的网站查看一下,我想特别说一个——捆绑(Bundle)功能。捆绑是一种方法,可以通过外部的组件集合来扩展应用结构,想想插件吧。

结论

我对当前PHP行业发生的事情感到极度兴奋,我相信这些一定会带来重大的成就。我们终于可以扔掉所有(或者大多数)的遗留问题,开始实施新的想法。从现在开始的五年之内,我们都会像今天一样兴奋。

原文地址:http://blog.webspecies.co.uk/2011-05-23/the-new-era-of-php-frameworks.html


www.phpzy.comtrue/php/8948.htmlTechArticle2011年的新时代 为了改善这种情况,人们终于选择要做一些事情。主要是在PHP 5.3的基础上从头开始重写框架。建立新的标准,统一所有框架之间的接口,扔...

相关文章

相关频道:

PHP之友评论

今天推荐