筆者先前因一些計畫需要使用 PHP 網頁框架,故整理了以下表格。雖然最後沒有實際用到,筆者將這個表格分享出來,給有這方面需求的讀者。這些比較的條件基於一般常見的網頁框架所會用到的特性,未針對某個特定框架。
| Criteria | Laravel | Symfony | Nette | CodeIgniter | Yii 2 |
|---|---|---|---|---|---|
| License | MIT | MIT | BSD | MIT | BSD |
| Architecture | Full | Full | Full | Full | Full |
| Popularity | 1st | 2nd | 3rd | 4th | 5th |
| Performance | Slow | Slow | Slow | Fast | Fair |
| Template | Blade | Twig | Latte | PHP | PHP |
| 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 |
| ORM | Yes | Doctrine | PDO | No built-in | Active Record |
| Authentication | Yes | Yes | Yes | Yes | Yes |
| Security | Yes | Yes | Yes | Yes | Yes |
| Testing | PHPUnit | PHPUnit | Built-in | Built-in | PHPUnit |
| i18n | Yes | Yes | Third-party | Third-party | Yes |
| Criteria | Zend 2 | CakePHP | Silex | Silm | Phalcon |
|---|---|---|---|---|---|
| License | BSD | MIT | MIT | MIT | BSD |
| Architecture | Full | Full | Micro | Micro | Micro |
| Popularity | 8th | < 10th | < 10th | < 10th | < 10th |
| Performance | Slow | Slow | Fair | Fast | Fastest |
| Template | PHP | Built-in | Twig | Twig, PHP | Volt |
| Database | 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 | Doctrine | Yes | Doctrine | No built-in | Yes |
| Authentication | Yes | Yes | Yes | No built-in | Yes |
| Security | Yes | Yes | Yes | No built-in | Yes |
| Testing | PHPUnit | PHPUnit | PHPUnit | No built-in | PHPUnit |
| i18n | Yes | Yes | Yes | No built-in | No built-in |
在這些框架中,Laravel 依然是最受歡迎的,整體資源也最多。雖然 Laravel 效能較慢,但網頁程式的效能瓶頸時常不在網頁本身,而在資料庫讀寫或後端運行的背景程式。通過表格比較,相對比較不受主觀意識影響或論壇的言論影響,而可客觀地選擇適合自已的網頁框架。