PHP框架概况

图虫之前是用Zend框架开发的,全面用Zend框架重构那还是2008年的事情,期间一路跟着ZendFramework升级版本,从1.5一路跟到1.9,但是由于Zend Framework 2.0的差异太大,所以没有迁移到2.0 .

转眼6年过去了,PHP世界发生了翻天覆地的变化,PHP 5.3以后引入的命名空间和特质和函数闭包等新特性,都彻底改变了框架的设计思路.PHP-FIG提出的PSR-0, PSR-4的策略,以及Packagist带来的包管理机制,极大地提升了PHP社区的活力。

新PHP的框架如雨后春笋般冒出来,尤其是Laravel这个号称给web艺术家设计的框架,简单看了几眼示例代码,ORM的设计和我自己写的MyPDO如出一辙,大量的使用静态方法,避免不必要的对象实例化,它的代码风格简直深得我的心。

但是Laravel和ZendFramework, django, rails一样,都是大而全的框架,框架内互相耦合了大量组件。对于一些轻量的API项目,其实我们根本用不着那些复杂的功能。于是,又有很多类似于表达,网络。py,瓶瓶的微框架应运而生。

到底用什么框架呢?简单整理对比一下几个流行框架:

1只微框架,把文件層先脫離出來就是大一步了

Slim 腔,microMVC ,, flight ,, Silex 等,基本只做路由绑定的工作,其他功能一概没有。

苗条相对比较流行,飞行和硅石也还不错。这类项目的开发一般不很活跃,因为实在没什么事情可以做。

这类微框架适合做一些功能简单的小项目,代码量少,能够达到不错的性能。

2。功能齊全大庫系——把輪子通通拿來給本大爺用

Yii, CI,蛋糕,ThinkPHP,早期框架基本都属于这一类,在没有包管理的时代,引入独立组件是一个很麻烦的事情,所以这些框架一股脑把路由,视图,ORM, Acl、分页、日志等等统统自己做了一遍。

3。安裝擴展系——不能高級一點嗎吗?

Laravel, ZF, Symfony,使用了大量PHP的高级特性。能体验到动态语言的强大魅力。

4。用C写的PHP扩展系——速度最實際

Yaf, Phalcon

Phalcon由于是一帮老外写的,开发者众,多社区完善,因此功能比较完善,各方面支持比较好。

Yaf毕竟是鸟哥一人在维护,而且鸟哥也太忙了,Yaf功能有限是必然的。

Phalcon/Yaf适合做对性能要求很高的API项目。


PHP框架概况