温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP 框架概况

发布时间:2020-08-03 21:15:45 来源:网络 阅读:554 作者:gao1383979 栏目:web开发

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Yaf, Phalcon

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

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

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI