ThinkPHP
- 易於上手,有豐富的中文文檔,學習成本低,社區活躍度高。
- 框架的兼容性較強,php4和php5完全兼容,完全支持UTF8等。
- 從thinkphp3.2.2開始引入了composer包管理工具。
- 基本面向對象。
- 上手容易,但是深入學習較難。
- 適合做中小型項目。
Laravel
- 設計思想先進。
- 支持composer包管理工具,大量的第三方開源庫。
- 集合了PHP比較新的特性,以及各種設計模式,IOC容器,依賴注入等。
- 文檔豐富,社區活躍。
- 中間件和路由,對訪問進行過濾及控制。
- 基於組件式的框架,所以比較臃腫。
Yii
- 面向對象編程。
- 支持composer包管理工具。
- 適用於大型web應用。
- 模型使用方便。
- 性能優異,功能豐富。
- 文檔較少。
- 框架入門較難,需要熟練面向對象編程。
Phalcon
- 基於C擴展寫的,高性能,全棧式。(鳥哥的yaf框架也是C語言寫的,性能不相上下,但是yaf更新慢,功能相對少)
- 由於是以擴展的方式加載,因此其執行效率高過其他PHP框架,並且消耗更少的資源,據統計比其他框架快5倍以上,也是少數以擴展加載的PHP框架之一。
- 爲什麼基於C擴展寫的框架快。用C實現的PHP框架比起原生框架仍有一定的性能損失,因爲每個請求都需要執行額外的一些代碼,這是不可避免的,但由於C擴展隨PHP服務啓動時就載入並常駐內存,所以相比PHP實現的框架來說,要快得多,另外,C擴展優化編譯生成的機器碼比PHP代碼快也是重要原因。
- di機制,依賴注入,利用依賴注入的方式,實現對象之間的解耦。所以phalcon框架高度解耦。
- 框架入門比較難。
- 遇到問題文檔方面,社區方面還不夠全面。
- 學習成本比較高
Yaf
Yaf的優點
- 用C語言開發的PHP框架, 相比原生的PHP, 幾乎不會帶來額外的性能開銷
- 所有的框架類, 不需要編譯, 在PHP啓動的時候加載, 並常駐內存
- 更短的內存週轉週期, 提高內存利用率, 降低內存佔用率.
- 靈巧的自動加載. 支持全局和局部兩種加載規則, 方便類庫共享
- 高性能的視圖引擎.
- 高度靈活可擴展的框架, 支持自定義視圖引擎, 支持插件, 支持自定義路由等等
- 內建多種路由, 可以兼容目前常見的各種路由協議
- 強大而又高度靈活的配置文件支持. 並支持緩存配置文件, 避免複雜的配置結構帶來的性能損失
- 在框架本身,對危險的操作習慣做了禁止
- 更快的執行速度, 更少的內存佔用
Yaf的缺點
- 對於沒有C基礎的人使用起來沒有困難,但一旦出現漏洞,不懂C的童鞋只能眼睜睜看着網站被破壞直至關掉;
- 相對於其他php框架,使用yaf的資料現在還比較少;