Yii 是高效能、元件基礎的 PHP5 框架,專為大型 Web 2.0 應用設計。本文系統整理核心特性、架構優勢、效能基準與適用場景。
核心標語:快速、安全、專業
- 快速:按需載入、強大快取支援、AJAX 優化
- 安全:輸入驗證、輸出過濾、SQL注入/XSS/CSRF 防護
- 專業:嚴格 MVC 分離、可重用程式碼、開發效率極高
完整功能特性清單
| 分類 | 特性 |
| 架構 | MVC、DAO/ActiveRecord、元件基礎、事件驅動 |
| 資料庫 | DAO、ActiveRecord、查詢生成器、遷移工具 |
| 前端整合 | jQuery 整合、AJAX 驗證、Web 2.0 元件 |
| 表單處理 | 輸入收集、驗證器、錯誤顯示、輔助元件 |
| 安全 | 認證授權、RBAC、XSS/CSRF/Cookie 保護 |
| 國際化 | I18N/L10N、訊息翻譯、日期數字格式 |
| 快取 | 資料/頁面/片段/動態快取、多儲存介質 |
| Web 服務 | WSDL 自動生成、RESTful 支援 |
| 錯誤處理 | 分類日誌、多目標輸出、友善錯誤頁面 |
| 開發工具 | 代碼生成、CRUD 腳手架、命令列工具 |
| 擴展性 | 模組化、行為、元件、第三方庫友善整合 |
架構設計亮點
- 純 OOP:無全域函數/變數,類別階層清晰
- 延遲載入:類別/物件首次使用才載入/建立
- 元件化:所有功能皆為可配置、可重用、可擴展元件
- 第三方友善:可無縫整合 PEAR、Zend Framework 等庫
效能基準數據
使用 ApacheBench (ab -t 30 -c 10) 測試「Hello World」基準:
- Yii 在啟用 APC 擴展下 RPS(每秒請求數)顯著領先其他主流框架
- 核心優勢源於延遲載入機制:僅載入實際使用的功能
- 對比包含:資料庫連線、Session 等是否按需啟用
適用場景
- 高流量門戶、論壇、CMS、電子商務系統
- 大型企業級應用、API 服務
- 需快速開發、長期維護的專案
環境需求
- PHP 5.1.0+
- Web 伺服器
- 開發者具備 OOP 基礎
授權與社群
設計靈感來源
- Prado:元件/事件模型、資料庫抽象、模組化架構
- Ruby on Rails:慣例優於配置、ActiveRecord
- jQuery:整合 JS 框架
- Symfony:過濾器設計、插件架構
- Joomla:模組化、翻譯方案
Yi 以「簡單、高效、可擴展」為設計哲學,是 PHP 開發大型應用的首選框架之一。