Zend 官方發布的 Guide to PHP Design Patterns 是 PHP 開發者學習設計模式的經典資料。PHPChina 社區發起眾包翻譯項目,歷時數月,由十余位 PHPer 協作完成中文翻譯,並生成 CHM 與 PDF 兩種離線閱讀格式免費發布。
| 類型 | 模式 | PHP 應用場景 |
|---|---|---|
| 創建型 | Singleton | 數據庫連接、配置管理、日志記錄器 |
| Factory Method | 不同存儲驅動(MySQL/Redis/Mongo)實例化 | |
| Abstract Factory | 多主題皮膚、多語言包加載 | |
| Builder | 複雜 SQL 查詢構建器、郵件組裝 | |
| Prototype | 大對象克隆避免重複初始化 | |
| 結構型 | Adapter | 第三方支付接口統一、舊系統集成 |
| Decorator | 緩存層裝飾、日志裝飾、權限檢查裝飾 | |
| Proxy | 懶加載、訪問控制、遠程服務代理 | |
| Facade | 複雜子系統統一入口(如訂單處理門面) | |
| Composite | 菜單樹、分類樹、表單元素樹 | |
| Flyweight | 大量相似對象共享狀態(如棋子、字符) | |
| Bridge | 抽象與實現分離(如日志記錄器與輸出目標) | |
| 行為型 | Observer | 事件系統、模型監聽、插件鉤子 |
| Strategy | 支付策略、排序策略、緩存策略 | |
| Command | 隊列任務、撤銷/重做、CLI 命令封裝 | |
| Template Method | 框架控制器基類、數據導出流程 | |
| State | 訂單狀態機、用戶會話狀態 |
感謝所有參與翻譯、校對、排版、測試的社區成員!正是大家的無私貢獻,才讓這份優質資料以中文形式惠及更多中國 PHPer。