PHP進階程式設計 學習筆記 2014.06.18
MVC (Model-View-Controller,模型-視圖-控制器)是一種可以簡化應用程式開發和維護的非常常用的設計模式。它從邏輯上把應用程式分隔為個部分。模型部分負責應用程式的商務邏輯,封裝訪問資料庫的方法並提供一個可以重用的類庫。視圖部分控制了資料的外觀並提供從使用者收集資料的機制。控制器部分,負責將所有的事項串連起來,負責從視圖收集資料,並決定程式的執行邏輯。調用模型的機制並解析返回的資料,然後將資料提交給視圖展示給客戶。選擇合適的架構要考慮五個關機因素:架構、文檔、社區、支援和靈活性。
基於MVC的典型工作流程
設計師根據現存的業務需求以及應用程式所要實現的功能,製作一個靜態、單獨的原型設計。然後,交由開發人員評審。開發人員負責確保所有要求實現的功能均是可行的,如果開發人員沒有發現任何問題,他們就會建立一個開發計劃,其中包括API模型,然後再交由整合人員(負責控制器層)。如果原型出現問題,項目會回到設計人員手中,繼續迴圈前面的流程。
準備好原型和API模型後,整合工作就會開始。整合人員將研究原型設計,並將它轉換成範本語言,並將設計整合到網站URL結構中。然後編寫控制器,這一組件會將請求在WEB伺服器和他們需要操縱的模型資訊之間代理分發。結果產生之後,擷取視圖並輸出,並且控制器會提供所有動態內容的資料。
最後,API模型完全實現之後,就可以將應用程式交給測試人員了。如果模型開發人員嚴格遵守API編寫代碼,整合人員根據規範來編寫控制器,那麼測試工作將會順利進行。
MVC 應用程式
應用程式入口,MVC網站通常會實現一個用來處理WEB網站上所以請求的核心指令碼。這個檔案被稱為引導檔案。引導檔案負責初始化架構,其中包括類的自動載入,讀取配置,解析URL到模型,填充封裝了請求資訊,初始化控制器程式等操作。
引導完成後,前端控制器將被執行個體化,並接管程式的運行。前端控制器類是負責解釋請求變數的內建類,它把使用者端請求路由到動作控制器上的某個方法,這個方法被叫做動作,動作負責實現所有的功能。這個方法中將執行個體化模型類,解析視圖模板,並輸出結果。
模型一般不遵循任何特定的結構,而是存在與一個公用的位置中,所有它們可能被架構自動載入。模型是提供了所需的資料操作和解析能力的工具類。
視圖是模板,可以用任何範本語言來編寫。視圖的目的是不在視圖中包含任何類型的處理邏輯或者資料操作,並且只輸出由控制器提供的資料。範本語言(如:FastTemplate/Smarty)的選擇取決於能否和目標框架整合在一起。
http://www.bkjia.com/PHPjc/815975.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/815975.htmlTechArticlePHP進階程式設計 學習筆記 2014.06.18 MVC (Model-View-Controller,模型-視圖-控制器)是一種可以簡化應用程式開發和維護的非常常用的設計模式。它從...