這篇文章主要介紹的內容是關於怎麼選擇適合自己php框架,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
PHP是世界上最受歡迎的程式語言之一,最近PHP7的發布讓這門伺服器端的程式語言比以往更加的強大和穩定。
PHP廣泛應用於大型項目,例如Facebook使用PHP來建立和維護他們的內部系統。 Wordpress使用PHP作為它的核心使其佔據了26%的web專案。目前82%的web網站使用PHP作為其伺服器端的開發語言(根據Web Tecnology Surveys網站調查)
在這篇文章內,我們將一起來分析3中最流行的PHP框架:Symfony、Laravel 、和Yii。我門透過說明怎麼比較它們來幫助大家選擇一個最適合自己需求的框架。
是什麼讓我們使用框架而不是使用純粹的php原生語言來開發我們的應用?使用框架的一些好處如下:
PHP框架使開發過程更快,例如,你不必為從資料庫中查詢資料去寫複雜的查詢語句。 PHP框架提供了CRUD操作(create創建,read讀取,update更新,delete刪除)
#框架讓開發者更容易的擴充系統
怎麼選擇PHP框架
怎麼比較它們
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為你提供了一個網頁應用程式和一個基本模板來運作。 Symfony2也提供了一個開始的示範程式。
Laravel透過Composer的composer create-project
指令或透過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在這方面似乎是最好的框架。
我們已經研究了框架之間的差異。現在讓我們來看看它們的相似之處:
3個框架都是全棧的php框架,從前端程式碼書寫到後段資料獲取,都提供了建構web應用的功能
專案都是開源的,並且都託管在GitHub上,這使得任何人都能容易的貢獻自己的代碼
所有的框架都有很好的文檔註釋並都與一個龐大的社群支援
都支援ORM(Object Relationship Mapping 物件關係映射)。 ORM非常適合編寫應用程式的物件導向程式碼。
對於開發Web2.0應用都夠強健、安全且可靠
仍然迷惑?也許這些清單有助於你縮小選擇範圍:
#提供長期支援版本
以上是怎麼選擇適合自己php框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!