比較 PHP 網頁框架

筆者先前因一些計畫需要使用 PHP 網頁框架,故整理了以下表格。雖然最後沒有實際用到,筆者將這個表格分享出來,給有這方面需求的讀者。這些比較的條件基於一般常見的網頁框架所會用到的特性,未針對某個特定框架。

CriteriaLaravelSymfonyNetteCodeIgniterYii 2Zend 2CakePHPSilexSilmPhalcon
LicenseMITMITBSDMITBSDBSDMITMITMITBSD
ArchitectureFullFullFullFullFullFullFullMicroMicroMicro
Popularity1st2nd3rd4th5th8th< 10th< 10th< 10th< 10th
PerformanceSlowSlowSlowFastFairSlowSlowFairFastFastest
TemplateBladeTwigLattePHPPHPPHPBuilt-inTwigTwig, PHPVolt
DatabaseMySQL
PostgreSQL
SQLite
SQL Server
MySQL
PostgreSQL
SQLite
SQL Server
Oracle
MySQL
PostgreSQL
SQLite
SQL Server
Oracle
MySQL
PostgreSQL
SQLite
SQL Server
Oracle
MySQL
PostgreSQL
SQLite
SQL Server
Oracle
MySQL
PostgreSQL
SQLite
MySQL
PostgreSQL
SQLite
SQL Server
Oracle (plugin)
MySQL
PostgreSQL
SQLite
SQL Server
Oracle
MySQL
PostgreSQL
SQLite
SQL Server
MySQL
PostgreSQL
SQLite
ORMYesDoctrinePDONo built-inActive RecordDoctrineYesDoctrineNo built-inYes
AuthenticationYesYesYesYesYesYesYesYesNo built-inYes
SecurityYesYesYesYesYesYesYesYesNo built-inYes
TestingPHPUnitPHPUnitBuilt-inBuilt-inPHPUnitPHPUnitPHPUnitPHPUnitNo built-inPHPUnit
i18nYesYesThird-partyThird-partyYesYesYesYesNo built-inNo built-in

在這些框架中,Laravel 依然是最受歡迎的,整體資源也最多。雖然 Laravel 效能較慢,但網頁程式的效能瓶頸時常不在網頁本身,而在資料庫讀寫或後端運行的背景程式。通過表格比較,相對比較不受主觀意識影響或論壇的言論影響,而可客觀地選擇適合自已的網頁框架。

上篇JavaScript - 程式設計史上最美麗的錯誤
下篇 適合新手的程式語言