各種PHP框架,怎么選擇一個適合你的?

2018.04.17 濰坊網站設計

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留下的間隙。


濰坊網站建設,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個組件。



濰坊網站設計公司,PHP框架


 

  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的社區可能更成熟一些,但是社區在進化,所以對社區的未來的動態預測很難。



濰坊網站設計,PHP框架

 

  說到學習資料和文檔,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


關鍵詞

最新案例

聯系電話 400-6065-301

留言

(-^O^-)MG魔术兔_官方版 东北麻将多少张牌 山西11选5前三直选走势 大众麻将四人麻将 河南体育彩票网 秒速飞艇计划软件 掌乐天天捕鱼游戏怎么作弊 极速赛车计划软件官网 赖子麻将官网下载 广东好彩1开奖时间 棒球比分 腾讯棋牌关闭 咋样买彩票 湖北麻将开五星安路 江苏e球彩中奖 北京快中彩官方网站 金龙棋牌维护