PHP 框架概況

圖蟲以前是用Zend Framework開發的,全面用 Zend Framework重構那仍是2008年的事情,期間一路跟着ZendFramework升級版本,從1.5一路跟到1.9,可是因爲Zend Framework 2.0的差別太大,因此沒有遷移到2.0。php

轉眼6年過去了,PHP世界發生了翻天覆地的變化,PHP 5.3之後引入的命名空間和trait和函數閉包等新特性,都完全改變了框架的設計思路。PHP-FIG提出的PSR-0,PSR-4的策略,以及Packagist帶來的包管理機制,極大地提高了PHP社區的活力。git

新的PHP框架如雨後春筍般冒出來,尤爲是Laravel這個號稱給web藝術家設計的框架,簡單看了幾眼sample code,ORM的設計和我本身寫的MyPDO一模一樣,大量的使用靜態方法,避免沒必要要的對象實例化,它的代碼風格簡直深得我心。github

可是Laravel和ZendFramework、django、rails同樣,都是大而全的框架,框架內互相耦合了大量組件。對於一些輕量的API項目,其實咱們根本用不着那些複雜的功能。因而,又有不少相似於express、web.py、flask、bottle的微框架應運而生。web

到底用什麼框架呢?簡單整理對比一下幾個流行框架:express

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

Slim , lumen,microMVC flight Silex 等,基本只作路由綁定的工做,其餘功能一律沒有。flask

Slim相對比較流行,flight和Silex也還不錯。這類項目的開發通常不很活躍,由於實在沒什麼事情能夠作。閉包

這類微框架適合作一些功能簡單的小項目,代碼量少,可以達到不錯的性能。mvc

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項目。

相關文章
相關標籤/搜索