對于 Web 開發(fā)者來說,PHP 是一款非常強大而又受歡迎的編程語言渣触。世界上很多頂級的網(wǎng)站都是基于 PHP 開發(fā)的羡棵。例如,F(xiàn)acebook 就是利用 PHP 來創(chuàng)建和維護他們的內(nèi)部系統(tǒng)嗅钻;流行的開源博客系統(tǒng) WordPress 也是基于 PHP 實現(xiàn)皂冰。
在 PHP 發(fā)展的同時,PHP 框架也迅速崛起养篓,使開發(fā)復(fù)雜應(yīng)用變得簡單秃流、快捷。
每個開發(fā)者都知道柳弄,擁有一個強大的框架可以讓開發(fā)工作變得更加快捷舶胀、安全和有效。在開發(fā)項目之前選擇一款合適的框架可以為今后奠定厚實的基礎(chǔ)碧注。
如何選擇一款適合的 PHP 框架嚣伐?我們可以以下幾個方面來作出考量:
- 框架的特性和功能是什么?
- 學(xué)習(xí)曲線如何应闯?
- 可擴展性怎么樣纤控?
- 對于編碼團隊的開發(fā)和維護具有積極的作用嗎?
- 長期時間支持版本 (LTS)碉纺?
- 社區(qū)支持如何船万?
熱門的框架
Symfony
Symfony 是一款為 Web 項目準(zhǔn)備的PHP框架刻撒,它可以幫助你加速創(chuàng)建和維護PHP應(yīng)用。Symfony 可以幫助你省去很多重復(fù)的編碼工作耿导,讓你的工作重心轉(zhuǎn)移到設(shè)計和控制上面來声怔。
Symfony 是一款可重用的PHP組件,它是基于MIT協(xié)議的開源軟件舱呻。一些比較出名的項目醋火,像 Drupal, phpBB 使用的都是 Symfony 框架箱吕。事實上芥驳,另一款 PHP 流行框架 Laravel 也是基于 Symfony 的一些組件建立的。
Symfony 致力于可重用組件茬高,并提供最好的模塊化兆旬。另外 Symfony 利用模塊和控制器來開發(fā) Web 應(yīng)用,這可能會讓一些剛?cè)腴T的開發(fā)者望而卻步怎栽。此外丽猬,Symfony 還是一個很好的模塊化結(jié)構(gòu)的例子,你可以以模塊化的方式在你的項目里使用 symfony 提供的 30 + 組件熏瞄。
Laravel
“PHP framework for Web Artisans”——Laravel 作為最流行的 PHP 框架脚祟,為開發(fā)者提供了一個優(yōu)秀的社區(qū)交流平臺。
Laravel是一款免費并且開源的 PHP 應(yīng)用框架强饮,它是為開發(fā)基于 MVC 的WEB 應(yīng)用而設(shè)計的由桌。它擁有優(yōu)雅的語法,讓你可以可簡單快速開發(fā)你的應(yīng)用邮丰。它擁有大多數(shù)常見的功能沥寥,如:路由,身份驗證柠座,會話,隊列和緩存片橡。
2015 年 5 月 Laravel 發(fā)布的 5.1 版本將提供長時間支持版本(兩年)妈经。5.2 版本也在 2015 年 12 月推向市場。很多托管公司提供 Laravel 支持以及 Laravel 應(yīng)用托管解決方案捧书。
Yii
由國人薛強在 2008 年創(chuàng)建的 Yii 是一個安全吹泡、快速、高性能的應(yīng)用 Web 開發(fā)框架经瓷。是一個基于DRY (Don’t Repeat Yourself) 理念的爆哑,擁有簡潔編程邏輯的純面向?qū)ο罂蚣堋?/p>
它是一款快速、安全和專業(yè)的 PHP 框架舆吮,同時它也是一款開發(fā)WEB 2.0應(yīng)用的高性能PHP框架揭朝,Yii 的功能非常強大队贱,內(nèi)置以下功能:MVC、DAO/ActiveRecord潭袱、I18N柱嫌、權(quán)限驗證、緩存屯换、安全控制编丘、測試、數(shù)據(jù)訪問對象等彤悔。
Yii 的另一個不錯的特性是整合了 jQuery嘉抓,使得前端開發(fā)者能更快地上手,它利用基架來生成代碼晕窑。Yii 和 Symfony 一樣是借助組件來使應(yīng)用開發(fā)更快抑片。
簡單對比
就以上框架而言,其重要的特點和優(yōu)勢如下:
Symfony
- 提供 LTS
- 具有負(fù)載功能
- 是目前最穩(wěn)定的全椖灰伲框架之一
- 基于組件的框架蓝丙,提供廣泛的模塊化支持
- 有強大的社區(qū)和大量的學(xué)習(xí)資源
Laravel
- 2015-2016 年最流行的框架
- 支持 Composer 進行包管理
- 擅長做單元測試
- 提供了大量的軟件包來擴展框架功能
- 強大的社區(qū)和大量的學(xué)習(xí)資源,社區(qū)氛圍極好
Yii
- 自帶 Ajax 支持
- 非常適合開發(fā)實時應(yīng)用程序
- 高度可擴展
- 準(zhǔn)確的錯誤處理
- 擅長創(chuàng)建 Restful Web Services
- 有強大的社區(qū)支持和豐富的學(xué)習(xí)資源
總結(jié)
Symfony 望拖、Laravel 渺尘、Yii 三個PHP框架都是為開發(fā)人員提供全棧開發(fā)環(huán)境的優(yōu)秀選項。但相對而言:
- Symfony 比較成熟说敏,并且擁有一個更大鸥跟、更成熟的社區(qū)。
- Yii 是一個獨特的盔沫,并能穩(wěn)健医咨、安全地完成工作的框架。
- Laravel 非常適合新手架诞,因為擁有優(yōu)雅的語法拟淮,可簡單快速開發(fā)你的應(yīng)用,資料教程完善谴忧,社區(qū)氛圍濃厚很泊,這也是它成為流行框架的重要原因。
這里推薦新手使用 Laravel 入門來開發(fā)網(wǎng)站應(yīng)用沾谓。在這個系列文章的實踐中委造,就有很多編碼的風(fēng)格和 Laravel 類似,如果你繼續(xù)了解 Laravel 框架你就會發(fā)現(xiàn)它是如此的熟悉均驶。
另外昏兆,在興趣之于還可以了解其它框架的特性和應(yīng)用場景,找到合適運用之處妇穴。
額外內(nèi)容
由于 PHP 框架眾多爬虱,這里也只是簡單介紹了個別的框架隶债,如果想了解更多可以查閱維基百科中的相關(guān)內(nèi)容: