模板 TagActionDispatcher是一個標準的ActionDispatcher類的實現,它支援訪問基本模板標籤。TagActionDispatcher類支援相同的ActionObjects集合和ViewResourcesConfig屬性作為預設的ActionDispatcher。TagActionDispatcher類能被用在帶有或沒有帶有模板標籤系統上,儘管由於它的額外處理會造成小的效能下降。
模板標籤庫是PHP。MVC架構結構的子系統,模板標籤庫聯合TagActionDispatcher一起工作來支援一些簡單的模板標籤。
下面的圖表顯示了PHP。MVC模板標籤系統的總攬。左邊展示的是模板標籤系統的程式流程。右邊是TagActionDispatcher的程式流程,還有標籤模板是怎樣使這些類進行互動。
1、初始化
當控制器傳遞控制到達TagActionDispatcher,一些初始化觸發去設定ActionObjects和ViewResourcesConfig屬性為了使用我們的模板:
從request中重新獲得$form,$errors和$data對象,如果這些對象中的任意一個已經在之前被建立(比如在Action類中),那麼對象現在將在資源模板中不可見,否則對象將被設定為NULL。
重新獲得ViewResourcesConfig對象的參考,它包含了配置參數。
設定在ViewResourcesConfig參數中指向模板源檔案和編譯的模板檔案的路徑。
2、設定標籤頁面
模板源檔案的副檔名(可能是"。ssp")被用來和ViewResourcesConfig->tagFlagStr參數相比較來決定是否這個頁面需要處理,否則頁面將被處理為標準(無標籤)模板檔案。我們能在view-resources元素中配置標籤副檔名,就像這樣:
<view-resources
...
tagFlagStr = "。ssp"
tagFlagCnt = "-4"
...
</view-resources>
tagFlagStr指示了標籤模板源檔案能被預先處理,比如:myPage。ssp。這個副檔名觸發標籤處理。屬性tagFlagCnt定義了檔案名稱結尾的字元數,包括"。"(xxxYyy。ssp)。據個例子,-4代表源檔案名稱最後4個字元。預設值是。ssp和-4,因此如果我們使用一個模板檔案名稱像myPage。ssp,我們不需要設定這些參數。
[1] [2] 下一頁