99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學院 頭像
蘋果6袋
6
麥子學院

PHP框架功能比較

發(fā)布時間:2016-07-26 21:19  回復:0  查看:3590   最后回復:2016-07-26 21:19  

PHP的三種框架都很適合用來創(chuàng)建Web2.0應用程序,但每種框架的使用目的有所不同。我們看看它們具有哪些功能,以及它們之間的較量,希望這對大家的PHP框架學習有所幫助。

 

模板引擎

模板引擎減少開發(fā)人員的工作量,它為寫前端代碼提供更好的功能。模板引擎提供了諸如自動HTML轉義和過濾功能,并填寫由原生PHP留下的空白。

 

Symfony Twig 模板系統(tǒng)

Twig是PHP的現代模板系統(tǒng)。Symfony利用其優(yōu)勢,使開發(fā)人員能夠編寫干凈、簡潔的代碼,而且它比原生PHP可以做得更多。例如,原生PHP寫的代碼:

<?php echo $var ?> <?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8') ?>

 

Twig用以下代碼可以做到同樣的工作:

{{ var }} {{ var|escape }} {{ var|e }} {# shortcut to escape a variable #}

 

瀏覽Twig網站了解更多有關它的功能。

 

Laravel Blade模板系統(tǒng)

不像其它的模板系統(tǒng),Blade讓你在視圖中使用PHP代碼。另外,Blade具有零負荷應用程序的性能,因為它的視圖文件必須使用.blade.php擴展文件名。在處理過程中所有在視圖文件中的代碼都被轉換成原生PHP。

 

Yii默認模板系統(tǒng)

Yii不會默認使用任何第三方的模板系統(tǒng),但這并不意味著它缺少模板系統(tǒng)支持。模板系統(tǒng)的選擇取決于開發(fā)團隊。推薦使用Twig和Smarty。Symfony使用Twig,所以如果你在過去已經用過Symfony,你可能需要用Twig來開發(fā)你的一個Yii項目。

 

這里沒有明確的哪個框架更好。三種框架使用模板引擎以便寫出更好的前端編碼和維護。Yii的一個小優(yōu)勢是,框架沒有預先定義的模板系統(tǒng)。

 

框架的不同點

每一個框架的創(chuàng)建都是不同的。Symfony用可重復使用的組件工作,它還提供了最佳的模塊化。Symfony也利用模型和控制器來開發(fā)Web應用程序,在許多開發(fā)人員眼中,它可能看起來是遲鈍的,但它是有作用的。另外,Symfony是模塊化框構的一個很好例子。你可以用模塊化的方式在你的項目中使用它提供的30個組件。

 

Yii采用MVC框架。(Symfony為MVC提供支持,可以在Is Symfony2 a MVC framework了解更多細節(jié)。)

 

Symfony可以用來快速開發(fā)復雜的項目。即使有爭議說哪一個框架更有利于復雜的項目,Symfony相比其他框架,具有很出色處理復雜事物的能力。Yii也使用組件,但它并不是symfony那樣的模塊化。Laravel與其它兩個框架相比,載它的模塊化方式沒有這么犀利。

 

如果你正在尋找一個模塊化的框架,就選symfony吧,或者Laravel,Yii也是很不錯的選擇。

 

安裝

這三個框架提供了多個安裝程序。如果你使用的是用于處理軟件包的Composer,那太好了,因為它們三個都可以通過Composer安裝。

 

在symfony中, Composer的作用更為關鍵。組件處理的方法最好是用這個:Composer PHP dependency manager(Composer PHP依賴管理器)

 

還有其它方法安裝各自的框架。例如,你可以使用簡單的歸檔方法安裝框架。安裝后,Yii為你提供了一個Web應用程序和一個基本模板。Symfony 2還提供了一個演示程序來開始工作。

 

laravel也可以通過使用Composer創(chuàng)建項目或Laravel安裝器來快速安裝。查看Laravel installation guide了解更多Laravel安裝指南。

 

快速開發(fā)

從公司或客戶的角度來看,快速將應用程序推出市場,來滿足消費者的需求和擊敗競爭對手是很重要的。Symfony脫穎而出,因為它是一個有著有力社區(qū)支持的強大框架。Laravel發(fā)展得很快,但仍有很長的路要走,才能被視為PHP開發(fā)的必然選擇。另一方面,如果還沒有任何PHP框架的知識,又想盡快上手,可以考慮Laravel。Laravel的學習過程簡單,你會發(fā)現網上很多教程來幫助你上手。Yii將性能提升到一個新水平,并提供了代碼腳手架以便更快地生成代碼和開發(fā)。

 

性能

任何一個應用程序的性能,只有當它是使用關鍵數據的實時應用程序時才是重要的。有多少基于Web的應用程序依賴于高性能?不是很多,但框架的性能在許多項目中起著至關重要的作用。

 

社交網絡是實時事件的一個主要例子。Jadson使用Yii2創(chuàng)建了一個移動社交網絡。說到選擇最好的框架來編寫高性能的應用程序代碼,Yii作為最快的PHP框架,成為突出的選擇。

PHP框架功能比較

Laravel的性能是非常值得商榷的。它是最慢的,但這有什么關系呢?你可以在網上找到很多加速性能的資源,例如guide on GitHub,它可以加快你的Laravel應用程序。

 

數據庫支持

Symfony 2提供更好的數據庫支持。你可以使用一系列的數據庫工作,包括NoSQL和DynamoDB。Yii和laravel在這方面也是有用的,但他們支持的數據庫比symfony的少。每一個框架支持的數據庫如表1所示。

PHP框架功能比較

社區(qū)和資源

對一個開源框架的壽命預測要看它的社區(qū)優(yōu)勢。三個框架都有穩(wěn)固的社區(qū),雖然symfony的可能會更成熟一點。社區(qū)是發(fā)展的,所以對社區(qū)未來動態(tài)的預測是具有挑戰(zhàn)性的。

 

說到學習材料和文件,laravel最突出,雖然SymfonyYii也不遜色:

 

擴展性

框架是可以使用擴展或包來擴展的結構,提高了它們的功能和范圍。說到擴展,laravel是贏家。 Packalyst,它是laravel包的目錄,提供超過9000個包。Yiisymfony則分別提供了約2800個擴展2830個包。Laravel是它們的3倍,因此從這方面來看,Laravel似乎是最好的框架。

 

相似點

我們已經介紹了框架之間的不同點。現在讓我們來看看它們相似的地方:

  • 三種框架都是全棧的PHP開發(fā)框架,提供網絡應用的創(chuàng)建功能,從前端代碼的編寫到后端數據檢索。
  • 項目是開源的,其源代碼可以在GitHub上找到,讓任何人都能輕松做出貢獻:
  • 該框架有很好的文檔記錄,并由一個大社區(qū)支持。
  • 它們都支持ORM(對象關系映射)。ORM在為應用程序寫OO代碼時備受歡迎。
  • 它們是強大的,安全的,可靠的,用來創(chuàng)建Web 2.0應用程序。

還在覺得困惑嗎?下面這份清單也許可以幫你縮小選擇范圍:

Symfony:

  • 提供一個LTS版本
  • 帶有負載功能
  • 是目前最穩(wěn)定的框架
  • 是基于構件的框架,提供了豐富的模塊化
  • 具有一個出色的社區(qū),提供豐富的學習資源

 

Yii:

  • 自帶Ajax支持
  • 十分適合用于開發(fā)實時應用程序,因為它的操作更快
  • 是高度可擴展的
  • 可準確無誤地處理錯誤
  • 適合用來創(chuàng)建平靜的Web服務
  • 具有一個出色的社區(qū),提供豐富的學習資源

 

Laravel:

  • 2015-2016年最流行的框架
  • 為設計者提供支持包管理
  • 出色完成單元測試
  • 提供豐富的包,用于擴展框架功能
  • 具有一個出色的社區(qū),提供豐富的學習資源

 

結束語

Symfony 、LaravelYii三者較量中,這三個PHP框架都是很好的選擇,為開發(fā)人員提供了一個全棧開發(fā)環(huán)境。對我個人來說,Laravel更佳,它作為一顆新出現的框架之星,沒有停下來的跡象。

PHP框架功能比較

 

不過,SymfonyYii都是優(yōu)秀的框架。Symfony是行之有效的,有一個更大、更成熟的社區(qū)。Yii是一個獨特的框架,它是強大的,安全的,并能完成工作。


原文來自:博客園/cherry0327


您還未登錄,請先登錄

熱門帖子

最新帖子

?