Habr 是俄羅斯的一個博客網站,關於信息技術、計算機科學和任何與互聯網有關的社交網絡的內容。最近該網站列出 2019 年 10 個流行的 PHP 框架,根據調查,幾乎 80% 的服務器端編程語言都是使用 PHP。php
PHP 框架爲簡化 Web 應用程序的開發提供了基本結構,使用 PHP 框架構建的網站和應用程序的響應性有助於企業知足其性能需求。接下來讓咱們看看是哪10 種框架:數據庫
Laravel
在 2011 年推出的 Laravel 已經成爲世界上最受歡迎的免費開源 PHP 框架,它能夠安全地處理複雜的 Web 應用程序,速度比其餘框架快得多。Laravel 經過簡化常見任務,如路由、會話、緩存和身份驗證,簡化了開發過程。編程
使用 Laravel 的理由:後端
- Laravel 適用於開發具備複雜後端需求的應用程序,不管是小的仍是大的。安裝 Laravel 也是很容易的。
- 它的功能將幫助你定製複雜的應用程序,其中包括:無縫數據遷移、MVC 架構支持、安全性、路由、視圖模板引擎和身份驗證等。
- Laravel 具備很強的表現力,它的速度和安全性與現代 Web 應用程序的指望是一致的。對於那些想要創建 B2B 或企業網站的開發人員來講,隨着網絡趨勢的變化,Laravel 是最好的選擇。
CodeIgniter
CodeIgniter 是一個適合開發動態網站的 PHP 框架,以其佔用的空間小而聞名(它的大小隻有 2MB,包括文檔)。它提供了許多預先構建的模塊,幫助構建健壯和可重用的組件。設計模式
使用 CodeIgniter 的緣由:緩存
- 與其餘框架不一樣,它的安裝至關省事。一個簡單的設置過程和高度說明的文檔,它是初學者的理想型框架。
- 關鍵特性包括 MVC 架構、一流的錯誤處理、內置的安全工具和簡單而優秀的文檔。此外,它還建立了可伸縮的應用程序。
- 與其餘框架相比,CodeIgniter 要快得多。因爲它還提供了可靠的性能,因此當你但願在普通服務器上開發輕量級應用程序時,它是一個很好的選擇。但注意:CodeIgniter 版本有點不規則,所以對於須要高級別安全性的應用程序來講,框架不是一個很好的選擇。
Symfony
Symfony 框架是在 2005 年推出的,雖然它存在的時間比清單上的其餘框架要長得多,但它是一個可靠而成熟的平臺。Symfony 是一個普遍的 PHP MVC 框架,也是已知惟一遵循 PHP 和 Web 標準的 TEE 框架。安全
使用緣由:服務器
- Symfony 是發展大型企業項目的理想選擇,在大多數平臺上安裝和配置都很容易。
- 它是可重用的 PHP 組件。它還擁有數據庫引擎的獨立性,而且很穩定,符合大多數 Web 最佳實踐和設計模式,並容許與其餘供應商庫集成。
- Symfony 也很是靈活,能夠與 Drupal 這樣的大型項目集成。Symfony 和 Laravel 具備許多共同和獨特的特性。
然而,雖然 Laravel 更多地關注簡單性和交付價值,即便對於那些不先進的開發人員來講,Symfony 也是針對高級開發人員的,並且更難入門。另外,Symfony 安全機制使用起來有點困難。並且,由於它容許開發人員「所有完成」,因此它可能比其餘框架慢。cookie
CakePHP
CakePHP 將幫助你開發功能豐富的網站。CakePHP 是最容易學習的框架之一,簡單且優雅,特別是由於它的 CRUD(建立、讀取、更新和刪除)框架。CakePHP 在 2000 年代初進入市場,從那以後,它得到了更好的性能和許多新的組件。網絡
使用緣由:
- CakePHP 簡單且易於安裝,由於只須要一個 Web 服務器和一個框架副本。
- 因爲安全特性包括 SQL 注入預防、輸入驗證、跨站點請求僞造(CSRF)保護和跨站點腳本(XSS)保護,它爲商業應用程序提供了很好的選擇。
- 一些關鍵特性包括現代框架、快速構建、適當的類繼承、驗證和安全性。此外,CakePHP 還經過 Cake Development Corporation 提供了很好的文檔、許多支持門戶和優質支持。
Yii
YII 框架是一個高性能的、基於組件的 PHP 框架,用於開發現代 Web 應用程序。YII 適用於各類網絡應用,所以,它是一個通用的 Web 編程框架。
使用 YII 的緣由:
- YII 有一個簡單的安裝過程。此外,其強大的安全性特性使得該框架適合於高度安全的工做,如電子商務項目、門戶網站、CMS、論壇等。
- 它具備出色的速度和性能,具備很高的可擴展性,容許開發人員避免編寫重複 SQL 語句的複雜性,由於他們能夠根據對象對數據庫數據進行建模。
- YII 有一個核心開發團隊和專家爲其開發作出貢獻。有了一個龐大的社區使用它,你能夠在 YII 論壇上發佈問題並得到幫助。
- YII 是可擴展的,幾乎能夠定製核心代碼的每一部分。
Zend Framework
Zend 框架是一個完整的面向對象的框架,它使用接口和繼承等特性使得它能夠擴展。它創建在敏捷方法之上,它幫助你向企業客戶交付高質量的應用程序。Zend 是可定製的,對於但願添加特定於項目的功能的開發人員來講,這是很是重要的一點。
使用緣由:
- Zend 框架很是適合複雜的企業級項目,它是大型 IT 公司和銀行的首選框架。
- 一些關鍵特性包括 MVC 組件、簡單的雲 API、數據加密和會話管理。
- 它能夠與外部庫集成,而且只能使用所需的組件。Zend 框架附帶了很是好的文檔,而且有很大的社區基礎。
Phalcon
Phalcon 是一個採用 MVC Web 體系結構設計模式的全棧 PHP 框架,最初是用 C 和 C++ 編寫的,於 2012 年發佈。由於它是做爲 C 擴展交付的,因此你沒必要擔憂學習 C 語言。
使用緣由:
- Phalcon 易於安裝,適合建立符合企業開發指南的高度可配置的 Web 應用程序。
- 主要功能包括提升執行速度、資產管理、通用自動加載程序以及頂級安全性和緩存。
- 與其餘框架不一樣,Phalcon 因爲其高效的內存利用率而優化了性能。
- 不利的一面是,Phalcon 開發人員修補 bug 的速度有點慢,這可能沒法知足當今對高級別安全性的需求。
Swoft
Swoft 是一個 PHP 高性能的微服務協同框架。它已經發布多年,成爲 php 的最佳選擇。它能夠像 GO,內置協同 Web 服務器和公共協同服務客戶端,並駐留在內存中,獨立於傳統的 PHP-FPM。有相似的 Go 語言操做,相似 Spring Cloud 框架的靈活註釋。
使用緣由:
- 基於 Swoole 本地 Cooutine,附帶了駐留內存和其餘 Swoole 功能包。
- 附帶 MySQL/Redis/RPC 高效鏈接池和全部鏈接斷開從新鏈接。開發人員不關心鏈接池,相應的組件已經實現。
- AOP 可用於框架容器管理的全部對象,使用 AOP 能夠控制實例對象的行爲,而不須要更改實例的內部。
- RPC 服務分爲 RPC Server 和 RPC 客戶端,該框架提供了一種更優雅的方法來使用 RPC 服務,如 Dubbo。
- 使用服務 Mesh 框架,如 Istio/DISOR,併爲中小型企業提供一組快速構建的微服務治理組件,包括服務註冊和發現、服務費用、服務節流和配置中心。
PHPixie
PHPixie 是在 2012 年引入的,就像 FuelPHP 同樣,它實現了 HMVC 設計模式。它的目標是爲只讀網站建立一個高性能的框架。
使用緣由:
- 很容易入門 PHPixie,它適用於社交網站、定製的 Web 應用程序和 Web 應用程序開發服務。
- 關鍵特性包括 HMVC 架構、標準 ORM(對象關係映射)、輸入驗證、受權功能、身份驗證和緩存。
- PHPixie 是使用獨立組件構建的。所以,你能夠在沒有框架自己的狀況下使用它。請注意,PHPixie 的模塊相對較少。此外,它缺少對獨立於依賴項的組件的支持。因爲它是相對較新的,所以它不那麼受歡迎,並且與其餘框架相比,它的用戶社區更小。
Slim
Slim 是另外一個流行的 PHP 微框架,它幫助開發人員快速建立簡單但功能強大的 Web 應用程序和 API。
使用緣由:
- 像 PHPixie 同樣,Slim 很容易入門。PHP 開發人員使用 Slim 開發 RESTful API 和 Web 服務,關鍵功能包括 URL 路由、會話和 cookie 加密、客戶端 HTTP 緩存等。
- 對於不必定須要完整堆棧 PHP 框架的小型 Web 應用程序來講,這是最好的框架。此外,積極的維護和友好的文檔使 Slim 體驗超級友好。
每一個框架都有本身的優勢和弱點,它們在社區、文檔和它們支持的數據庫方面都各不相同。最佳使用框架的決定取決於各類因素,如安全性、易用性、可伸縮性、文檔等。所以,首先要了解要開發的項目或應用程序的需求。而後,再從這個列表中選擇最合適的 PHP 框架。