115
各種PHP框架,怎么選擇一個適合你的?
PHP是世界上最流行的編程語言之一,并且最近PHP7的發布讓這門服務器端的編程語言比以往更加的強大和穩定。
PHP廣泛應用于大型項目,例如Facebook使用PHP來建立和維護他們的內部系統。Wordpress使用PHP作為它的內核使其占據了26%的web項目。目前82%的web網站使用PHP作為其服務器端的開發語言(據Web Tecnology Surveys網站調查)
在這篇文章內,我們將一起來分析3中最流行的PHP框架:Symfony、Laravel、和Yii。我門通過說明怎么比較它們來幫助大家選擇一個最適合自己需求的框架。
是什么讓我們使用框架而不是使用純粹的php原生語言來開發我們的應用?使用框架的一些好處如下:
以上的好處很顯著以致于不容忽視。即使使用原生的PHP也能用來開發任何的應用,但是當前的開發規范要求使用工具和時間管理的技巧來滿足市場的需要。
回答下面的一些問題能幫助你選擇適合自己的框架:
在深究技術細節之前,我們先來整體介紹下這3個競爭者
Symfony是一套可復用的PHP組件,這些組件可以使開發者開發出易擴展和高性能的應用。有30個組件可供選擇,開發者有完全的自由在RAD環境中實驗和工作。Symfony的APIs也使得它很容易的與第三方應用整合,它也能與流行的前端框架一起使用,比如AngularJs。
很多的流行項目包括Drupal和phpBB也使用了Symfony框架。實際上目前最流行的框架Laravel也是建立在Symfony上。
Laravel作為“為web藝術家而生的框架”被廣泛使用,它提供了極其優秀的社區并獲得了最流行的框架的稱號。
在2015年5月Laravel發布聲明Laravel5.1版本將提供2年的長期支持。2015年11月5.2版本推出。很多托管提供商提供Laravel支持并提供Laravel應用的托管解決方案。
Qiang Xue在2008年推出了Yii框架,Yii框架安全、快速、性能卓越。Yii使用Composer作為它的php依賴管理工具來幫助處理不同的依賴和其安裝。得益于惰性加載技術的使用,Yii框架是目前速度最快的框架。
Yii另一個偉大的特性是整合來JQuery。這種整合使得前端的開發者開始的擁抱它,并且它使用腳手架生成代碼,類似與Symfony。Yii也使用組件來快速開發應用。
這3個框架開發Web2.0應用都非常的好,但是各自服務與不同的目的。讓我們看看它們的特性以及它們目前的狀態。
模板引擎在編寫前端代碼時,簡化開發者的工作并提供更好的功能。模版引擎提供的特性包括自動html代碼轉義和過濾、添補原生php留下的間隙。
Symfony Twig模板系統
Twig是一個PHP的現代模板系統。Symfony利用Twig的優勢使開發者寫出更加干凈、簡潔的代碼。
Laravel Blade模板系統
不像其他的模板系統,Blade讓你在視圖中是用PHP代碼。并且Blade對應用的性能影響幾乎為零,因為視圖文件都是以作為擴展名。視圖文件所有的代碼在程序運行中都轉換為了原生的php。
Yii默認模板系統
Yii默認沒有使用任何第三方模版系統,但是這并不意味者它缺少對模版引擎的支持。模板引擎的選擇取決去開發團隊。Yii推薦使用Twig和Smarty模板引擎。介于Symfony使用的是Twig,所以如果你以前使用過Symfony,你可能想在你的下一個Yii框架中使用Twig。
這里沒有明顯的優勝者。3個框架都使用模版引擎使前端代碼的的書寫和維護更簡單。Yii的一個小優勢是它沒有提前預設一個模板系統。
每個框架都不一樣。Symfony致力于提供可復用的組件和提供最好的模塊化支持。Symfony也使用模型和控制器來開發web應用,對于新的開發者這看起來有點老套。但是確實好用。對于模塊化框架來說Symfony是一個很好的例子。你可以使用模塊化的方式在你的項目中使用Symfony提供的30個組件。
Yii框架使用MVC模型(Symfony也提供對MVC的支持)
Symfony可以用來快速開發和用于復雜項目。即便有對哪個框架最適合開發復雜項目有爭議,Symfony相對于其他框架顯示出了卓越的復雜處理能力
Yii也使用組件但是不像Symfony一樣模塊化。Laravel不像另外2個框架一樣提供激進的模塊化支持。
如果你正在尋找一個模塊化的框架,就去選擇Symfony,其他的話,Laravel和Yii都是很好的選擇。
這三個框架提供了許多安裝程序。如果你用Composer去處理安裝包,你會很高興發現,所有的框架都可以通過Composer安裝
對Symfony而言,Composer的作用更加關鍵。通過使用PHPComposer依賴管理器,組件處理的想法能更好的實現。
各個框架還有其他的安裝方式。例如,您可以使用簡單的歸檔方法安裝框架。
安裝完成后,Yii為你提供了一個Web應用程序和一個基本模板來工作。Symfony2還提供了一個開始的演示程序。
Laravel通過Composer的命令或者通過Laravel安裝器也能簡單的進行安裝。詳情請查看laravel安裝指南。
從公司或客戶的角度來看,快速地將應用程序推向市場以滿足消費者的需求并擊敗競爭對手是很重要的。
symfony有一個強大社去支撐,并作為一個健壯的框架而凸顯出來。Laravel正在迅速成長,但在被視為PHP實際的開發選擇之前,Laravel還有很長的路要走。
另一方面,如果你不認識任何PHP框架,又想盡快上手,那么可以考慮Laravel。Laravel有一個簡單的學習曲線,你會發現網上很多教程來幫助你開始。
Yii的性能有一個新的水平,并為快速的的代碼生成和開發提供了代碼腳手架。
任何應用程序的性能只關系到它是否是一個使用關鍵數據的實時應用程序。有多少依賴高性能的web應用程序?并不是很多,但是框架的性能在許多項目中可以起到關鍵的作用。
社交網絡是實時事件應用的首選例子,我們的一個明星的產品-jadson使用yii2建了一個移動社交網絡,當初我們為編寫高性能的應用而選擇一個最好的框架時。Yii作為最快的PHP框架而凸顯出來。
Laravel的性能是一個頗有爭議的問題。它是最慢的,但這有關系嗎?你會找到在線資源去加速它的性能,包括GitHub上的指南讓你的laravel應用變得更快。
Symfony 2提供了更好的數據庫支持。你可以使用一組數據庫,包括NoSQL和DynamoDB。
Yii和Laravel在這方面也同樣有用,但他們支持的數據庫比symfony的少。每個框架支持的數據庫如表1所示。
開源框架持久性的一個重要預測因素是其社區的力量。這3個框架都有穩定而堅實的社區,盡管Symfony的社區可能更成熟一些,但是社區在進化,所以對社區的未來的動態預測很難。
說到學習資料和文檔,Laravel突出出來來,盡管Symfony和Yii并沒有落后很多。
框架是可以通過擴展或包進行擴展的結構,用來改進了它們的功能和范圍。說到擴展,Laravel是贏家。packalyst一個laravel擴展包的庫提供超過9000的擴展包。另一方面Yii和symfony分別提供了2800左右的擴展和2830的包,Laravel提供來超過3被的擴展。Laravel在這方面似乎是最好的框架。
我們已經研究了框架之間的差異?,F在讓我們看看它們的相似之處:
仍然迷惑?也許這些列表有助于你縮小選擇范圍:
在Symfony與Laravel與Yii的競爭中,3個框架都是極好的選擇,都為開發者提供來全棧的開發環境。對于我來說,作為一種新興的且沒有停止的跡象的明星-Laravel是一個勝利者。
轉載請注明:濰坊網站設計:http://www.144610.tw/newsshow/217.html
關鍵詞
熱門分享
最新文章
2020.11.05
高端網站開發建設:免費建站系統的報價
2019.04.15
貴陽網站開發:如何測試WordPress網站的響應性設計
2019.04.15
臺州企業網站建設:有關Firefox開發工具的所有需要了解的信息
2019.04.15
南寧企業網站建設:MailPoet:如何在WordPress中運行您的電子郵件營銷活動(評論)
2019.04.15
??诰W站建設:使用MailChimp模板的10種鼓舞人心和創造性的方法
2019.04.15
WordPress社區的鳥瞰(&如何參與)
2019.04.15
現存14家最具影響力的WordPress博客網站公司
2019.04.15
展望網絡設計的未來:20年后我們將走向何方?
2019.04.15
AWeber是一個很好的自動響應式網站解決方案嗎?
2019.04.15
為什么你現在應該開始使用Chrome開發工具
隨機推薦
2018.06.11
網站制作定制:網站制作前需要注意的優化點
2019.01.10
濰坊網站設計建設:在線教育平臺如何在短時間內獲得用戶
2018.04.10
勒索木馬盯上熱門手游,濰坊網站建設提醒謹慎辨別
2019.01.02
濰坊網站建設服務:一個好的網站需要有經驗的網站制造商來完成它。
2019.01.04
坊子企業網站建設:如何認識P2P網上借貸平臺的問題
2019.01.10
濰坊網頁制作設計:在微信時代,我們必須了解三個要點
2018.05.07
濰坊網站建設公司:平面設計師需要學習什么
2018.05.16
濰坊網站設計制作:企業網站主頁的版圖設計
2018.03.30
濰坊網站設計的設計文本和視覺效果之間的界限模糊
2019.01.04
昌樂模板網站建設:如何提高網站建設的用戶體驗