久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

最的PHP框架

時(shí)間:2024-07-26 00:21:23 PHP 我要投稿
  • 相關(guān)推薦

2017最熱門的PHP框架

  PHP 是世界上最流行的編程語言之一,廣泛用于主要的項(xiàng)目中。例如,F(xiàn)acebook 就是利用 PHP 來創(chuàng)建和維護(hù)他們的內(nèi)部系統(tǒng);WordPress 內(nèi)部基于 PHP, 作為報(bào)答它為超過26%的網(wǎng)站提供了技術(shù)支持。而現(xiàn)在PHP已經(jīng)為超過82%的網(wǎng)站提供了支持(Web Technology Surveys 站點(diǎn)能夠跟蹤的服務(wù)器端編程語言)。

  本文將通過 3 款最流行的 PHP 框架:Symfony, Laravel, 和 Yii 的比較,來幫助你找到最適合的 PHP 框架。

  為什么選擇 PHP 框架?

  下面列出了一些使用 PHP 框架進(jìn)行開發(fā)的好處:

  PHP 框架使開發(fā)更快。比如,你不需要寫復(fù)雜的查詢操作來從數(shù)據(jù)庫中檢索數(shù)據(jù),PHP 提供了增加(Create)、讀取(Retrieve)(重新得到數(shù)據(jù))、更新(Update)和刪除(Delete)的操作。

  框架能夠使得開發(fā)者更容易地?cái)U(kuò)展系統(tǒng)。

  代碼維護(hù)比普通的 PHP 應(yīng)用更加容易。應(yīng)用程序代碼將更加簡潔。

  MVC模式可保證快速發(fā)展。

  框架更好地保護(hù)Web應(yīng)用程序免受常見的安全威脅。

  DRY(Don’t Repeat Yourself )原則讓最少的代碼發(fā)揮最大的作用。

  以上所列的好處都具有十分重要的意義。盡管利用原生的 PHP 能夠?qū)懗鋈魏我粋(gè)應(yīng)用,但是現(xiàn)在的開發(fā)更多地要求使用工具和時(shí)間管理技能,以滿足市場需求。

  如何選擇一款適合的 PHP 框架?

  回答下面的問題能幫助你更好地選擇一款適合的框架:

  這個(gè)框架的特性和功能是什么?(它提供了我需要的東西了嗎?)

  這個(gè)框架的學(xué)習(xí)曲線是怎么樣的?

  這個(gè)框架的可擴(kuò)展性如何?

  這個(gè)框架對于編碼團(tuán)隊(duì)的開發(fā)和維護(hù)具有積極的作用嗎?

  這個(gè)框架提供了長時(shí)間支持版本(LTS support) 嗎?

  這個(gè)框架有強(qiáng)大的社區(qū)支持嗎?

  Symfony, Laravel 和 Yii 概述

  在深入到技術(shù)細(xì)節(jié)之前,先對三者進(jìn)行一個(gè)概述:

  Symfony

  Symfony 是一款可重復(fù)使用的 PHP 組件,讓開發(fā)者開發(fā)可擴(kuò)展的、高性能的應(yīng)用。它有30個(gè)組件可供選擇,開發(fā)者可以在 RAD 環(huán)境下自由地進(jìn)行實(shí)驗(yàn)或工作。

  一些比較出名的項(xiàng)目,像 Drupal and phpBB 使用的都是 Symfony 框架。事實(shí)上,另一款 PHP 流行框架 Laravel 也是建立自 Symfony 。

  Laravel

  “PHP framework for Web Artisans”——Laravel 作為最流行的 PHP 框架,為開發(fā)者提供了一個(gè)優(yōu)秀的社區(qū)交流平臺(tái)(Laravel 的其中一個(gè)創(chuàng)始人是 Livecoding.tv 的 Sfiskell)。

  2015 年 5 月 Laravel 發(fā)布的 5.1 版本將提供長時(shí)間支持版本(兩年)。5.2 版本也在 2015 年 12 月推向市場。很多托管公司提供 Laravel 支持以及 Laravel 應(yīng)用托管解決方案。

  Yii

  國人薛強(qiáng)在 2008 年創(chuàng)建的 Yii 是一個(gè)安全、快速、高性能的應(yīng)用/ Web 開發(fā)框架。Yii 利用PHP的Composer 依賴項(xiàng)管理器來處理不同的依賴和安裝(下面我們會(huì)講到)。延遲加載技術(shù)( lazy loading technique)使得 Yii 成為最快的PHP 框架。

  Yii 的另一個(gè)不錯(cuò)的特性是整合了 jQuery,使得前端開發(fā)者能更快地上手,它利用基架來生成代碼。Yii  和 Symfony 一樣是借助組件來使應(yīng)用開發(fā)更快。

  Symfony, Laravel 和 Yii 比較

  這三款框架都非常構(gòu)建開發(fā) Web 2.0 應(yīng)用程序,但他們的側(cè)重點(diǎn)又各有不同。下面我們看一下他們各自的特性和安裝:

  模板引擎

  模板引擎能減輕開發(fā)者的負(fù)擔(dān),在寫前端代碼時(shí)提供更好的功能。模板引擎提供了諸如自動(dòng) HTML 轉(zhuǎn)義和過濾等功能,并填補(bǔ)了原生 PHP 留下的空白。

  Symfony Twig 模板系統(tǒng)

  Twig 是一個(gè)靈活,快速,安全的 PHP 模板語言。Symfony 的優(yōu)勢是使用了 Twig 來使得開發(fā)者編寫干凈、整潔的代碼,并且能夠利用原生 PHP 來實(shí)現(xiàn)更多的功能。例如,下面冗長的代碼實(shí)現(xiàn)的是轉(zhuǎn)義(escaping):

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

  Twig 可以用下面的代碼實(shí)現(xiàn)同樣的功能:

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

  你可以進(jìn)入 Twig 主頁來查看更多的功能。

  Laravel Blade 模板系統(tǒng)

  跟其他的模板系統(tǒng)不同,Blade 允許你在視圖中使用 PHP 代碼。而且,由于blade 視圖文件存儲(chǔ)在 .blade.php extension里面,所以 Blade 對你的應(yīng)用性能損耗為 0。所有在視圖文件里面的代碼可以在處理過程中就轉(zhuǎn)換成原生 PHP。

  Yii 默認(rèn)的模板系統(tǒng)

  Yii 默認(rèn)不使用任何第三方的模板系統(tǒng),但這并不意味著它缺少模板系統(tǒng)的支持,模板系統(tǒng)的選擇取決于開發(fā)團(tuán)隊(duì),推薦 Twig 和 Smarty。Symfony 使用的是 Twig,所以如果你之前使用過 Symfony,你可能會(huì)想選擇 Twig 作為你下一個(gè) Yii 項(xiàng)目的選擇。

  很難定義那款才是最好的。這三個(gè)框架都利用了模板系統(tǒng)來更好地編寫和維護(hù)前端。 Yii 的一個(gè)小優(yōu)勢是它沒有一個(gè)預(yù)定義的模板系統(tǒng)。

  框架的差異

  每個(gè)框架的構(gòu)建都是不同的。Symfony 致力于可重用組件,并提供最好的模塊化。另外 Symfony 利用模塊和控制器來開發(fā) Web 應(yīng)用,這可能會(huì)讓一些剛?cè)腴T的開發(fā)者望而卻步。此外,Symfony 還是一個(gè)很好的模塊化結(jié)構(gòu)的例子,你可以以模塊化的方式在你的項(xiàng)目里使用 symfony 提供的 30 個(gè)組件。

  Yii采用 MVC 框架。(symfony 也支持 MVC 架構(gòu),更詳細(xì)的討論請看 blog.sznapka.pl 網(wǎng)站的 Is Symfony2 a MVC framework )

  Symfony 可以用于快速開發(fā)復(fù)雜的項(xiàng)目。如果說哪個(gè)框架最適合復(fù)雜的項(xiàng)目的話,symfony 相比于其他框架具有十分優(yōu)秀的復(fù)雜處理的能力 。Yii 也利用了組件,但和 symfony 的模塊不一樣。Laravel 雖然沒有提供一個(gè)模塊化的方法,但和其他兩個(gè)框架一樣好用。

  如果你正在尋找一個(gè)模塊化的框架的話就選擇 symfony。否則,Laravel 和 Yii 都是不錯(cuò)的選擇。

  安裝

  這三個(gè)框架都提供了多個(gè)安裝過程,如果您使用 Composer 來處理包,就發(fā)現(xiàn)其實(shí)所有框架都可以通過Composer 安裝。

  而對于 Symfony 來說,Composer 的作用尤為重要。因?yàn)槭褂?PHP 的 Composer 依賴項(xiàng)管理器是處理組件的好幫手。

  當(dāng)然也有其他的安裝框架的方式,例如使用簡單的歸檔方法來安裝。

  安裝后,Yii 將提供一個(gè) Web 應(yīng)用程序和一個(gè)基本的模板幫助你的開發(fā);Symfony 2 提供了一個(gè)開始演示應(yīng)用程序;通過 Laravel 安裝程序來安裝和使用 Composer 來創(chuàng)建項(xiàng)目,使得 Laravel 也能夠很容易安裝使用。詳細(xì)信息請查看 Laravel 安裝指南。

  發(fā)展

  從公司或客戶的角度來看,迅速將應(yīng)用程序推向市場以滿足消費(fèi)者的需求并擊敗競爭對手是很重要的。 Symfony 由于其背后有強(qiáng)大的社區(qū)支撐而站穩(wěn)腳跟; Laravel 正在快速成長,要被開發(fā)者完全認(rèn)可仍有很長的路要走。另外,如果你還不知道任何 PHP 框架,希望盡快選擇一款適合你的,Laravel 是個(gè)不錯(cuò)的選擇,它有一個(gè)簡單的學(xué)習(xí)曲線,并且有很多在線教程幫助你開始使用。Yii 將性能提升到一個(gè)新的水平,并提供代碼基架,以便更快地生成和開發(fā)代碼。

  性能

  任何應(yīng)用程序的性能只有當(dāng)它使用關(guān)鍵數(shù)據(jù)的實(shí)時(shí)應(yīng)用程序時(shí)才有意義。有多少基于 Web 的應(yīng)用程序依賴于高性能呢? 并不多,但是框架的性能在許多項(xiàng)目中可以發(fā)揮關(guān)鍵性的作用。

  社交網(wǎng)絡(luò)是實(shí)時(shí)事件的主要例子,我們的明星流媒體之一——jadson 就使用了 Yii2 建立移動(dòng)社交網(wǎng)絡(luò)。最快的 PHP 框架 Yii 毫無疑問是高性能應(yīng)用程序編碼框架的最佳選擇。

  Laravel 的性能是非常有爭議的。它是最慢的,但這重要嗎? 您可以找到很多用于加快性能的在線資源,包括使 Laravel 應(yīng)用程序更快的 GitHub 指南。

  數(shù)據(jù)庫支持

  Symfony 2 提供更好的數(shù)據(jù)庫支持。您可以使用數(shù)據(jù)庫數(shù)組,包括 NoSQL 和 DynamoDB。Yii 和 Laravel 也支持?jǐn)?shù)據(jù)庫,但是所支持的數(shù)據(jù)庫比 Symfony 少。每個(gè)框架支持的數(shù)據(jù)庫如表1所示。

  表1

  社區(qū)和資源

  社區(qū)力量是開源框架壽命的一個(gè)重要預(yù)測因素。這三個(gè)框架都有其固定的社區(qū),Symfony 的相對較為成熟。社區(qū)仍在不斷地發(fā)展,因此很難預(yù)測未來社區(qū)的發(fā)展動(dòng)態(tài)。

  Laravel 在學(xué)習(xí)材料和文檔方面做得最好,Symfony 和 Yii 也不差:

  Laravel 文檔

  Symfony 文檔(3.0)

  Yii 文檔

  可擴(kuò)展性

  框架是可以進(jìn)行或包擴(kuò)展的結(jié)構(gòu),改進(jìn)它們的功能和范圍。在這方面 Laravel 是當(dāng)之無愧的贏家。 Packalyst 是 Laravel 軟件包的目錄,提供 9000 多個(gè)軟件包。而 Yii 和 Symfony 分別提供大約 2800 個(gè)擴(kuò)展和 2830 個(gè)bundle。Laravel 以超越其他兩者的三倍的擴(kuò)展性,成為這方面最好的框架。

  Symfony, Laravel 和 Yii 相似之處

  我們研究了框架之間的差異。 現(xiàn)在讓我們看看他們的相似之處:

  1.三個(gè)框架都是全棧 PHP 框架,并提供了從創(chuàng)建 Web 應(yīng)用程序前端代碼編寫到后端數(shù)據(jù)檢索的功能。

  2.這些項(xiàng)目都是開源的,他們的源代碼可以在 GitHub 上找到,每個(gè)人都可以輕松地貢獻(xiàn)自己的代碼:

  Symfony

  Laravel

  Yii

  3.這些框架有很好的文檔,并得到了大型社區(qū)的支持。

  4.它們各自支持 ORM(對象關(guān)系映射)。ORM 非常喜歡為應(yīng)用程序編寫面向?qū)ο蟮拇a(OO code)。

  5.用它們創(chuàng)建 Web 2.0 應(yīng)用程序是安全和可靠的。

  還是無法選擇? 也許這些清單可以幫助你縮小選擇范圍:

  Symfony:

  提供 LTS 版本,

  具有負(fù)載功能,

  是目前最穩(wěn)定的框架,

  是一個(gè)基于組件的框架,提供廣泛的模塊化,

  有一個(gè)強(qiáng)大的社區(qū)和大量的學(xué)習(xí)資源

  Yii:

  自帶 Ajax 支持

  非常適合開發(fā)實(shí)時(shí)應(yīng)用程序

  高度可擴(kuò)展

  準(zhǔn)確的錯(cuò)誤處理

  擅長創(chuàng)建 Restful Web Services

  有一個(gè)強(qiáng)大的社區(qū)和大量的學(xué)習(xí)資源

  Laravel:

  2015-2016 年最流行的框架

  支持 Composer 進(jìn)行包管理

  擅長做單元測試

  提供了大量的軟件包來擴(kuò)展框架功能

  有一個(gè)強(qiáng)大的社區(qū)和大量的學(xué)習(xí)資源

  結(jié)論:

  在 Symfony 、Laravel 、Yii  三個(gè)PHP框架都是為開發(fā)人員提供全棧開發(fā)環(huán)境的優(yōu)秀選項(xiàng)。我覺得 Laravel 是最大的贏家,并且仍然在不斷地發(fā)展壯大。

  不過,Symfony 和 Yii 都是優(yōu)秀的框架。Symfony 比較成熟,并且擁有一個(gè)更大、更成熟的社區(qū)。Yii 是一個(gè)獨(dú)特的,并能穩(wěn)健、安全地完成工作的框架。

  其他資源

  Symfony2 vs Yii2: Which development framework should you choose?

  10 PHP Frameworks for Developers

  It’s Laravel 5.1 for Enterprise Development

【最的PHP框架】相關(guān)文章:

PHP如何做好最基礎(chǔ)的安全防范03-29

關(guān)于php面試寶典及PHP面試技巧04-02

PHP的壓縮函數(shù)03-31

php高級教程01-23

淺析php函數(shù)的實(shí)例04-01

 PHP的基礎(chǔ)編程與應(yīng)用04-01

配置 PHP 調(diào)試環(huán)境03-30

PHP的錯(cuò)誤機(jī)制總結(jié)03-22

如何學(xué)好PHP知識(shí)03-30