- FuelPHP 教程
- FuelPHP - 首頁
- FuelPHP - 簡介
- FuelPHP - 安裝
- FuelPHP - 架構概述
- FuelPHP - 簡單 Web 應用
- FuelPHP - 配置
- FuelPHP - 控制器
- FuelPHP - 路由
- FuelPHP - 請求 & 響應
- FuelPHP - 檢視
- FuelPHP - 展示器
- FuelPHP - 模型 & 資料庫
- FuelPHP - 表單程式設計
- FuelPHP - 驗證
- 高階表單程式設計
- FuelPHP - 檔案上傳
- FuelPHP - Ajax
- FuelPHP - HMVC 請求
- FuelPHP - 主題
- FuelPHP - 模組
- FuelPHP - 包
- Cookie & 會話管理
- FuelPHP - 事件
- FuelPHP - 郵件管理
- FuelPHP - 分析器
- 錯誤處理 & 除錯
- FuelPHP - 單元測試
- 完整的執行示例
- FuelPHP 有用資源
- FuelPHP - 快速指南
- FuelPHP - 有用資源
- FuelPHP - 討論
FuelPHP - 架構概述
FuelPHP 基於經過實戰檢驗的模型-檢視-控制器架構,並支援HMVC(分層 MVC)。MVC 提供靈活的分層應用程式開發,而 HMVC 則更進一步,可以實現 Web 應用程式的小部件化。
FuelPHP 的優勢在於它不強制使用特定的方式來開發應用程式。它只提供了一個簡單易用的標準結構。開發人員可以自由使用 FuelPHP 提供的預定義功能集,也可以在需要時修改它。FuelPHP 提供的所有功能,包括核心功能,都可以根據應用程式的需求進行更改。
模型
模型是應用程式的業務實體。控制器和檢視以模型的形式交換資料。模型實現了我們業務資料的統一表示。它使資料庫層能夠以標準的方式與 Web 應用程式層互動,並提供選擇、儲存、編輯和刪除資料庫實體的選項。
控制器
一個典型的 MVC 應用程式從控制器開始。一旦使用者向 FuelPHP Web 應用程式傳送請求,應用程式就會收集有關該請求的所有資訊並將其傳送到控制器。控制器執行請求頁面所需的業務邏輯,然後呼叫相關的檢視以及以模型形式處理後的資料。
檢視
檢視是 MVC 應用程式的表示層。檢視決定如何向用戶顯示模型。它支援從簡單的資料渲染到高階佈局,使網站能夠在所有頁面上規範化設計。檢視還提供主題支援,可以快速更改整個應用程式的設計。
展示器
展示器是 FuelPHP 提供的一項特殊功能。它是控制器和檢視之間的粘合劑。控制器可以共享一些低階職責,例如從資料庫檢索模型、為檢視生成資料等。控制器呼叫展示器而不是檢視,而展示器又呼叫檢視。展示器實現了業務邏輯和表示層的完全分離。
分層 MVC
FuelPHP 提供了一個選項,可以從另一個控制器呼叫一個控制器,類似於來自客戶端(瀏覽器)的請求。如果任何控制器呼叫另一個控制器,則被呼叫的控制器將響應返回給呼叫控制器,而不是呈現給客戶端(瀏覽器)。這使得 Web 應用程式的小部件化成為可能。例如,評論部分可以顯示為一個獨立的頁面,也可以作為主(部落格)頁面的子部分。
模組
FuelPHP 的一個突出特點是可以將 Web 應用程式的一部分轉換為模組,這些模組可以在不同的應用程式之間共享。例如,為一個應用程式建立的部落格模組可以透過將模組程式碼從源應用程式複製到目標應用程式來在另一個應用程式中重複使用。
請注意,建立新模組與開發主應用程式一樣簡單。結構與主應用程式類似,唯一的例外是模組應該在單獨的資料夾中編碼。
包
FuelPHP 提供了一個選項,可以將程式碼組織到一個稱為包的單個單元中。一個包可以包含 Web 應用程式所需的一個或多個功能。例如,資料庫元件(如 ORM、電子郵件等)可以組織到一個包中,並在需要時使用。
包與模組的不同之處在於,包不包含任何網頁或部分網頁。包既可以在 FuelPHP 中使用,也可以在任何其他 PHP 框架中使用。
工作流程
FuelPHP 的工作流程簡單易懂。在下圖中進行了描述。
使用者嚮應用程式傳送請求。
控制器接收請求並透過與模型互動來收集資訊,而模型又與資料庫互動。
控制器透過向其他控制器傳送子請求來與其他控制器互動以收集資訊。
控制器將檢索到的模型傳送到檢視,檢視又生成表示並將其作為響應傳送到客戶端。
在某些情況下,控制器可能會將控制權傳遞給展示器。在這種情況下,展示器從模型中收集資訊並將其傳送到客戶端。在這裡,展示器不執行任何業務邏輯,除了從資料庫檢索模型。