開發(fā)者值得關(guān)注的9大流行PHP框架
譯文【51CTO.com快譯】數(shù)十年來,PHP一直是全球最受歡迎的編程語言之一。PHP開發(fā)具有快速安全、易于維護(hù)、大量可用軟件庫、以及更少的手動(dòng)編程量等特點(diǎn)。如今,PHP在網(wǎng)站中的使用量已高達(dá)79%。
與此同時(shí),經(jīng)過這么多年的發(fā)展,業(yè)界出現(xiàn)了許多不同的PHP框架產(chǎn)品,及其解決方案。作為開發(fā)人員,您也許會(huì)問:哪一款是最常用的PHP框架?又應(yīng)該如何進(jìn)行選擇呢?下面,我將為您總結(jié)和梳理出開發(fā)者值得關(guān)注的9大流行PHP框架。
1. Laravel
于2011年推出的Laravel是一個(gè)免費(fèi)且開源的PHP框架。相比其他框架,Laravel具有平穩(wěn)、快速、以及安全地處理復(fù)雜Web應(yīng)用的能力,因此它是全球開發(fā)者的首選。
由于簡化了路由、緩存、授權(quán)和身份驗(yàn)證之類的任務(wù),所以它免去了開發(fā)過程中的各種手動(dòng)環(huán)節(jié)。許多B2B網(wǎng)站的開發(fā)人員會(huì)優(yōu)先使用Laravel,來輕松地實(shí)現(xiàn)電子郵件驗(yàn)證、哈希處理、以及密碼重置等服務(wù)。
目前,Laravel的最新版本是2020年9月發(fā)布的V.8。同時(shí),隨著Homestead的推出,它預(yù)包裝了Vagrant盒子,這使得Laravel的安裝變得非常容易。
2. Yii
于2008年12月下旬面市的Yii,是一個(gè)簡單卻高性能的、基于組件的通用編程框架。您不但可以用它來運(yùn)行第三方代碼,其Gii代碼生成器還能夠快速地提供性能優(yōu)越的基礎(chǔ)架構(gòu)。
在安全方面,它能夠支持bcrypt密碼哈希和加密。我們可以根據(jù)其名稱推斷:在印度,有許多PHP開發(fā)人員會(huì)用它來構(gòu)建電子商務(wù)、CMS系統(tǒng)、以及各種論壇項(xiàng)目。
3. CodeIgniter
CodeIgniter以其最小化配置而聞名。該配置方便了Web應(yīng)用開發(fā)人員能夠快速上手工作。自2006年被推出以來,它已經(jīng)歷了多次修訂,其當(dāng)前版本為V4.0.3。
包括配套文檔,CodeIgniter的體積雖然不到2MB,但是能夠提供許多預(yù)構(gòu)建的模塊。它們以穩(wěn)定且可重復(fù)使用的組件形式,方便用戶開發(fā)出各種動(dòng)態(tài)網(wǎng)站。它雖然鼓勵(lì)用戶采用MVC架構(gòu)來進(jìn)行開發(fā),但是并不限制其他非MVC的靈活應(yīng)用實(shí)現(xiàn)方式。
在內(nèi)容安全性方面,CodeIgniter具有內(nèi)置且強(qiáng)大的、針對CSRF和XSS攻擊的防御能力??偟恼f來,CodeIgniter是一個(gè)容易讓新手開發(fā)人員快速上手的PHP平臺。
4. Symfony
于2005年面市的Symfony,因符合PHP Web標(biāo)準(zhǔn)和設(shè)計(jì)模式而廣受歡迎。與其他框架相比,Symfony的優(yōu)勢在于可靠性和成熟度。
由于Symfony內(nèi)置了測試功能,支持?jǐn)?shù)據(jù)庫引擎的獨(dú)立性,而且基于廣泛的MVC框架,所以它非常適合大型企業(yè)的Web開發(fā)項(xiàng)目。而由于其學(xué)習(xí)曲線非常陡峭,因此那些精通Symfony的開發(fā)人員,往往稱得上是Web開發(fā)領(lǐng)域的專家。
5. CakePHP
自2005年面市以來,CakePHP以提供純凈的Web應(yīng)用開發(fā)而著稱。由于其配置非常簡單,因此您不必處理任何XML或YAML文件。在框架方面,CakePHP擁有自己的ORM(對象關(guān)系映射,Object Relational Mapping),而在安全性方面,它能夠防護(hù)CSRF攻擊。
由于內(nèi)置了各種組件和助手(Helpers),因此CakePHP精簡了開發(fā)人員加載各類軟件庫的工作量。這也讓它成為開發(fā)功能繁多的Web應(yīng)用的上層之選。而作為最早打破MVC框架一統(tǒng)Web開發(fā)領(lǐng)域的PHP框架,CakePHP已經(jīng)被10 Fast Fingers、Printivo、Visit NC和Coconala等知名公司所使用。
6. Zend框架
于2006年左右推出Zend是一個(gè)基于組件的框架,它常被稱為“膠水框架”。作為一種面向?qū)ο蟮腗VC型PHP框架,其最新版本為3.0.0。
Zend方便了開發(fā)者將所需的組件,作為各種單獨(dú)的庫進(jìn)行加載。他們甚至可以按需輕松地集成不同的外部庫,并重用各種代碼。不過,鑒于其平臺的復(fù)雜性,相對于Laravel和Symfony而言,通常只有那些經(jīng)驗(yàn)豐富的開發(fā)人員才能自如地駕馭Zend。
7.Phalcon
由C語言編寫源代碼的Phalcon PHP框架,為開發(fā)者提供了最快速的編碼體驗(yàn)。他們無需具備C語言的相關(guān)知識,便可以使用該框架來生成各種PHP類和名稱空間。
于2012年末推出的Phalcon是一個(gè)高性能的、全棧性的、內(nèi)存駐留型框架。由于它是一種已編譯的代碼,而非經(jīng)過解釋的代碼,因此其執(zhí)行速度會(huì)更快。同時(shí),Phalcon的模板引擎--Volt也以快速而聞名。它包括各種幫助(helper)類。
除了速度上的優(yōu)勢,Phalcon還提供了結(jié)構(gòu)良好的資產(chǎn)管理和通用自動(dòng)加載器。因此,它是那些希望制作出需要時(shí)常更新的網(wǎng)站的首選。
8. FuelPHP
于2011年發(fā)布的FuelPHP是一款基于MVC設(shè)計(jì)的、社區(qū)驅(qū)動(dòng)的框架。它的靈活性主要體現(xiàn)在,提供了一個(gè)獨(dú)特的、特定于框架的版本—HMVC(Hierarchical Model View Controller)。不同于傳統(tǒng)MVC,它不但鼓勵(lì)代碼重用,而且提供了更大的可擴(kuò)展性、模塊化和代碼結(jié)構(gòu)。因此,F(xiàn)uelPHP既節(jié)約了開發(fā)人員的時(shí)間,又降低了PC內(nèi)存的消耗。
在輸出編碼(Output Encoding)、CSRF和XSS等過濾服務(wù)的加持下,F(xiàn)uelPHP能夠提供全面的安全性。因此,它可以交付出各種體量的Web項(xiàng)目。
除了其獨(dú)特的命令行實(shí)用程序,F(xiàn)uelPHP也內(nèi)置了功能強(qiáng)大的ORM,能夠支持RESTful API開發(fā),以及針對URL路由系統(tǒng)和漏洞的保護(hù)。有關(guān)FuelPHP的經(jīng)典使用案例當(dāng)屬Front Desk物業(yè)管理系統(tǒng)。
9.Slim
顧名思義,Slim是一個(gè)微型的PHP框架。由于完全獨(dú)立于第三方平臺,因此它非常精簡和快速。Slim被創(chuàng)建于2010年,其當(dāng)前版本為4.5.0。
Slim不但能夠便于RESTful的實(shí)現(xiàn),而且能夠方便開發(fā)人員輕松地實(shí)現(xiàn)URL路由、Cookie加密、以及客戶端HTTP緩存等功能。因此,該P(yáng)HP框架適用于小型、但功能豐富的Web應(yīng)用和API的開發(fā)。同時(shí),由于它非常易于學(xué)習(xí),且配備有友好、簡單的文檔,因此Slim比較適用于初次開發(fā)的Web項(xiàng)目。
小結(jié)
總的說來,上述介紹的所有PHP框架都提供了,可供快速開發(fā)Web應(yīng)用與設(shè)計(jì)的基本架構(gòu)。不過它們在配套文檔、社區(qū)支持、安全性、可擴(kuò)展性、以及對數(shù)據(jù)庫支持的易用等方面略有不同。因此,您在實(shí)際項(xiàng)目的選型過程中,有必要充分考慮各個(gè)框架的優(yōu)、缺點(diǎn),根據(jù)已確定需求的優(yōu)先級,綜合進(jìn)行評估,聽取專家意見,以最終做出明智的選擇。
原文標(biāo)題:The 9 Most Popular PHP Frameworks for Developers,作者:Sidharth Jain
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】


































