PHP.MVC的模板標籤系統(一)

來源:互聯網
上載者:User

PHP.MVC的模板標籤系統(PhpMVC_Tags)現在提供了3種類型的標籤:包含指令,聲明和運算式.
包含指令能讓我們將內容分隔為許多模組,比如:頁首,頁尾或者內容.包含的頁面可以是HTML,或者其他標籤模板頁.據個例子,下面的包含指令能用來包含一個頁首:
<@ include 'pageHeader.ssp' @>
聲明允許我們在模板種聲明一個頁面層級的變數,或者甚至其他包含頁面.一個聲明看起來像以下代碼:
<@ salesAreaID = "Central District" @>
運算式標籤允許我們在模板頁中執行運算式.運算式的結果將被包含進模板頁.以下運算式將被用來顯示一個簡單的字串(salesAreaID),也可以找回架構配置類的屬性:
<@ =salesAreaID @>
<@ =viewConfig.getAreaManager @>
PHP.MVC beta 0.4.0引進了一個新配置類叫做ViewResourcesConfig.這個類能被用來定義能被用在VIEW資源(模板)中的全域參數,並且也能去配置模板標籤系統,它將在下面顯示.phpmvc-config.xml設定檔中的view-resources元素在下面的顯示:
<view-resources
appTitle = "Flash Jacks' Sleek Tab Site"
copyright = "Copyright @ 2010 Flash Jack. All rights reserved."
contactInfo = "flash.jack@jackshost.com"
processTags = "true"
compileAll = "true"
className = "MyViewResourcesConfig">

<!-- We can set some properties on our custom ViewResourcesConfig class -->
<set-property property="areaManager" value="Joe J. Blogs Esq."/>
</view-resources>
模板頁面處理使用模板標籤系統能被<view-resources>結點來控制.首先我們能定義是模板標籤系統編譯所有模板頁面還是只編譯修改過的.其次,我們能定義模板標籤系統是否真的要處理標籤頁面,處理標籤頁面在應用程式配置當中和配置之後很有用.下面單元顯示的<view-resources>是將compileAll和processTags屬性設定為真(總是處理標籤頁並且處理所有標籤頁):
<view-resources
...
processTags = "true"
compileAll = "true"
...
</view-resources>

Action Dispatcher

PHP.MVC版本beta 0.4.0以上ActionDispatcher類用來負責使FormBean,Errors,Value(商務資料)和ViewResourcesConfig對象在我們的VIEW(模板)中可以使用.
在檢查模板標籤系統之前我們應該快速的看一下ActionObjects和ViewResourcesConfig類,當在使用標準的ActionDispatcher時.

ActionObjects

ActionDispatcher使一些對象在我們所使用的模板頁面中的應用程式VIEW資源可用.3種標準的ActionObjects為:FormBean,Errors,和Value(商務資料)對象.
一下表格顯示了在FormAction和Action類中如何使用FormBean,Errors和Value對象:
Saving ActionObjects in ActionForm Classes
ActionErrors $this->saveErrors($request, $actionErrors)
FormBeans $this->saveFormBean($request, $this)
ValueObjects $this->saveValueObject($request, $valueObject)

Saving ActionObjects in Action Classes
ActionErrors $this->saveErrors($request, $actionErrors)
FormBeans $this->saveFormBean($request, $form)
ValueObjects $this->saveValueObject($request, $valueObject)

Retrieving ActionObjects in View Resources (Templates)
ActionErrors $errors->getItemString('logon_username_reqd')
FormBeans $form->username
ValueObjects $data->salesNorth

一個ActionObject將被初始化為NULL如果對象沒有在之前被建立和儲存.要想得到ActionObjects的詳細資料請看這裡:http://www.phpmvc.net/docs/guides/guidesIdx.php?doc=action-objects

View Resources

ActionDispatcher也能暴露ViewResourcesConfig對象到我們的模板頁面中.ViewResourcesConfig對象被phpmvc-config.xml設定檔中的<view-resources>元素所配置的.如果ViewResourcesConfig對象還沒有被配置,那麼一個新的執行個體將使用預設的ViewResourcesConfig類的屬性.
下面這段代碼顯示了使用模板標籤系統的運算式在我們的HTML頁首模板中如何訪問ViewResourcesConfig屬性:
<!-- Page Header -->
<span>
<@ =viewConfig.getAppTitle @>
</span>

配置Action Dispatcher

ActionDispatcher是預設的PHP.MVC(在beta 0.4.0以上版本)Dispatcher類.這個Action Dispatcher被包含於架構將預設被使用,除非我們定義了一個類來替代Dispatcher類.在下一節中我們將看到怎樣配置我們的應用程式來使用一個替代類--TagActionDispatcher類.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.