PHP.MVC的模板標(biāo)簽系統(tǒng)(一)
包含指令能讓我們將內(nèi)容分隔為許多模塊,比如:頁(yè)眉,頁(yè)腳或者內(nèi)容.包含的頁(yè)面可以是HTML,或者其他標(biāo)簽?zāi)0屙?yè).據(jù)個(gè)例子,下面的包含指令能用來(lái)包含一個(gè)頁(yè)眉:
<@ include 'pageHeader.ssp' @>
聲明允許我們?cè)谀0宸N聲明一個(gè)頁(yè)面級(jí)別的變量,或者甚至其他包含頁(yè)面.一個(gè)聲明看起來(lái)像以下代碼:
<@ salesAreaID = "Central District" @>
表達(dá)式標(biāo)簽允許我們?cè)谀0屙?yè)中執(zhí)行表達(dá)式.表達(dá)式的結(jié)果將被包含進(jìn)模板頁(yè).以下表達(dá)式將被用來(lái)顯示一個(gè)簡(jiǎn)單的字符串(salesAreaID),也可以找回框架配置類(lèi)的屬性:
<@ =salesAreaID @>
<@ =viewConfig.getAreaManager @>
PHP.MVC beta 0.4.0引進(jìn)了一個(gè)新配置類(lèi)叫做ViewResourcesConfig.這個(gè)類(lèi)能被用來(lái)定義能被用在VIEW資源(模板)中的全局參數(shù),并且也能去配置模板標(biāo)簽系統(tǒng),它將在下面顯示.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>
模板頁(yè)面處理使用模板標(biāo)簽系統(tǒng)能被<view-resources>結(jié)點(diǎn)來(lái)控制.首先我們能定義是模板標(biāo)簽系統(tǒng)編譯所有模板頁(yè)面還是只編譯修改過(guò)的.其次,我們能定義模板標(biāo)簽系統(tǒng)是否真的要處理標(biāo)簽頁(yè)面,處理標(biāo)簽頁(yè)面在應(yīng)用程序配置當(dāng)中和配置之后很有用.下面單元顯示的<view-resources>是將compileAll和processTags屬性設(shè)置為真(總是處理標(biāo)簽頁(yè)并且處理所有標(biāo)簽頁(yè)):
<view-resources
...
processTags = "true"
compileAll = "true"
...
</view-resources>
Action Dispatcher
PHP.MVC版本beta 0.4.0以上ActionDispatcher類(lèi)用來(lái)負(fù)責(zé)使FormBean,Errors,Value(商務(wù)數(shù)據(jù))和ViewResourcesConfig對(duì)象在我們的VIEW(模板)中可以使用.
在檢查模板標(biāo)簽系統(tǒng)之前我們應(yīng)該快速的看一下ActionObjects和ViewResourcesConfig類(lèi),當(dāng)在使用標(biāo)準(zhǔn)的ActionDispatcher時(shí).
ActionObjects
ActionDispatcher使一些對(duì)象在我們所使用的模板頁(yè)面中的應(yīng)用程序VIEW資源可用.3種標(biāo)準(zhǔn)的ActionObjects為:FormBean,Errors,和Value(商務(wù)數(shù)據(jù))對(duì)象.
一下表格顯示了在FormAction和Action類(lèi)中如何使用FormBean,Errors和Value對(duì)象:
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
一個(gè)ActionObject將被初始化為NULL如果對(duì)象沒(méi)有在之前被創(chuàng)建和保存.要想得到ActionObjects的詳細(xì)信息請(qǐng)看這里:http://www.phpmvc.net/docs/guides/guidesIdx.php?doc=action-objects
View Resources
ActionDispatcher也能暴露ViewResourcesConfig對(duì)象到我們的模板頁(yè)面中.ViewResourcesConfig對(duì)象被phpmvc-config.xml配置文件中的<view-resources>元素所配置的.如果ViewResourcesConfig對(duì)象還沒(méi)有被配置,那么一個(gè)新的實(shí)例將使用默認(rèn)的ViewResourcesConfig類(lèi)的屬性.
下面這段代碼顯示了使用模板標(biāo)簽系統(tǒng)的表達(dá)式在我們的HTML頁(yè)眉模板中如何訪問(wèn)ViewResourcesConfig屬性:
<!-- Page Header -->
<span>
<@ =viewConfig.getAppTitle @>
</span>
配置Action Dispatcher
ActionDispatcher是默認(rèn)的PHP.MVC(在beta 0.4.0以上版本)Dispatcher類(lèi).這個(gè)Action Dispatcher被包含于框架將默認(rèn)被使用,除非我們定義了一個(gè)類(lèi)來(lái)替代Dispatcher類(lèi).在下一節(jié)中我們將看到怎樣配置我們的應(yīng)用程序來(lái)使用一個(gè)替代類(lèi)--TagActionDispatcher類(lèi).
相關(guān)文章
PHP simplexml_load_string()函數(shù)實(shí)例講解
今天小編就為大家分享一篇關(guān)于PHP simplexml_load_string()函數(shù)實(shí)例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02通過(guò)ODBC連接的SQL SERVER實(shí)例
通過(guò)ODBC連接的SQL SERVER實(shí)例...2006-10-10PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(7)
PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(7)...2006-10-10