PHP.MVC的模板標籤系統(二)_PHP教學課程

WBOY
發布: 2016-07-21 16:12:30
原創
843 人瀏覽過

The Php.MVC Tag Action Dispatcher

    TagActionDispatcher是一個標準的ActionDispatcher類別的實作,它支援存取基本範本標籤.TagActionDispatcher類別支援相同的ActionObjects集合和ViewResourcesConfig屬性作為預設的ActionDispatcher.TagActionDispatcher類別能被使用在帶有或沒有模板標籤系統上,儘管由於它的額外處理會造成小的性能下降.
    模板標籤庫是PHP.MVC框架結構的子系統.模板標籤庫聯合TagActionDispatcher一起工作來支持一些簡單的模板標籤.
    下面的圖表顯示了PHP.MVC模板標籤系統的總攬.左邊展示的是模板標籤系統的程序流程.右邊是TagActionDispatcher的程序流程,還有標籤模板是怎樣使這些類進行交互.

模板标签系统的程序流程   

1.初始化
    當控制器傳遞控製到達TagActionDispatcher,一些初始化觸發去設定ActionObjects和ViewResourcesConfig屬性為了使用我們的模板:
    從request中重新獲得$form,$errors和$datadata,如果這些物件中的任何一個已經在之前被創建(比如在Action類別中),那麼物件現在將在資源模板中不可見,否則物件將被設定為NULL.
    重新獲得ViewResourcesConfig物件的參考,它包含了設定參數.
    設定在ViewResourcesConfig參數中指向模板原始檔和編譯的範本檔案的路徑.
2.設定標籤頁
    範本來源檔案的副檔名(可能是".ssp")被用來和ViewResourcesConfig->tagFlagStr參數相比較來決定是否這個頁面需要處理,否則頁面將被處理為標準(無標籤)模板文件.我們能在view-resources元素中配置標籤文件擴展名,就像這樣:
     ...
 tagFlagStr = ".ssp"
 tagFlagCnt = "-4"
 ...
 tagFlagCnt = "-4"
 ...
 tagFlagCnt = "-4"
  ...3.處理標籤檔
    模板標籤系統決定是否運行標籤處理器,要根據ViewResourcesConfig->processTags屬性.如果這個屬性為真,模板頁(及它所包含的頁)將被標籤處理器類所處理,否則標籤處理器不會被呼叫.開發者只要將它在開發中將其設為真即可,假則不處理.但要注意的是當processTags屬性設為真,修改過的標籤頁才會被編譯(這依賴於compileAll屬性設定).我們能定義processTags屬性在view-resources元素,就像這樣:
     ...
 processTags = "True"
 ...
 processTags = "True"
 ...
 processTags = "True"
    注意,它的預設值是假.
4.編譯模板頁.
    如果TagActionDispatcher決定模板頁將被處理,那麼它將控制給模板標籤系統.現在模板標籤系統將決定是否只編譯修改過的頁,還是編譯所有頁.這種行為使用ViewResourcesConfig->compileAll屬性來定義.我們定義compileAll屬性就像這樣:
     ...
 compileAll = "True"
 ...
   

    這個屬性預設為假.
5.只編譯修改的頁.為假(預設值),那麼只會編譯修改過的頁.據個例子,如果被請求的頁面自從上次被請求以來被修改過,此頁將會被編譯.
6.編譯所有的頁.

    如果compileAll屬性設定為真,模板標籤系統將總是編譯頁面(包括包含的頁面)無論此頁面自從上次請求以來是否修改過.開發者使用在開發中使用這個選項能夠保證所有的頁面都被處理.7.處理VIEW資源.    在處理完模板頁之後,控制權回到TagActionDispatcher.被請求的VIEW資源(模板文件)將被任何其他的正規PHP.MVC模板文件處理.TagActionDispatcher重新獲得被編譯的頁(包括包含的頁面)並且將頁面輸出給用戶的瀏覽器.如果模板標籤系統沒有被調用,TagActionDispatcher將被請求的頁麵作為正規的VIEW資源來處理.例如TagActionDispatcher可以用來取代標準的ActionDispatcher.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/313707.htmlTechArticleThe Php.MVC Tag Action Dispatcher TagActionDispatcher是一個標準的ActionDispatcher類別的實現標籤,它支持訪問基本模板. TagActionDispatcher類別支援相同的ActionObje...
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!