php  web  

Apr 28, 2017 • Michael Chen

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

Criteria Laravel Symphony Nette CodeIgniter Yii 2 Zend 2 CakePHP Silex Silm Phalcon
License MIT MIT BSD MIT BSD BSD MIT MIT MIT BSD
Architecture Full Full Full Full Full Full Full Micro Micro Micro
Popularity 1st 2nd 3rd 4th 5th 8th < 10th < 10th < 10th < 10th
Performance Slow Slow Slow Fast Fair Slow Slow Fair Fast Fastest
Template Blade Twig Latte PHP PHP PHP Built-in Twig Twig, PHP Volt
Database MySQL
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
ORM Yes Doctrine PDO No built-in Active Record Doctrine Yes Doctrine No built-in Yes
Authentication Yes Yes Yes Yes Yes Yes Yes Yes No built-in Yes
Security Yes Yes Yes Yes Yes Yes Yes Yes No built-in Yes
Testing PHPUnit PHPUnit Built-in Built-in PHPUnit PHPUnit PHPUnit PHPUnit No built-in PHPUnit
i18n Yes Yes Third-party Third-party Yes Yes Yes Yes No built-in No built-in

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