欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP.MVC的模板標(biāo)簽系統(tǒng)(三)

 更新時(shí)間:2006年09月05日 00:00:00   作者:  
PHP.MVC標(biāo)簽語(yǔ)法

    在基本的介紹之后,我們現(xiàn)在就可以來(lái)看看模板標(biāo)簽系統(tǒng)的語(yǔ)法.
    在看具體的標(biāo)簽之前,我們應(yīng)該定義什么作為我們的標(biāo)簽.為了寫(xiě)一個(gè)標(biāo)簽,我們使用<@ ... @>標(biāo)簽結(jié)點(diǎn).左標(biāo)簽(<@)和右標(biāo)簽(@>)是默認(rèn)的標(biāo)簽.如果必要的話,這些標(biāo)簽我們能夠在phpmvc-config.xml中重新定義.
    模板標(biāo)簽系統(tǒng)現(xiàn)在支持以下3種標(biāo)簽:包含指令,聲明和表達(dá)式.我們現(xiàn)在來(lái)看看這些指令.

包含指令

    包含指令能讓我們將內(nèi)容分隔為許多模塊,比如:頁(yè)眉,頁(yè)腳或者內(nèi)容.包含的頁(yè)面可以是HTML,或者其他標(biāo)簽?zāi)0屙?yè).據(jù)個(gè)例子,下面的包含指令能用來(lái)包含一個(gè)頁(yè)眉:
    <@ include 'pageHeader.ssp' @>
    一個(gè)包含指令在模板上下文種的例子:
<html>
<head>
...
</head>
<body>
<center>
<table class='pageLayoutTable'>
   <tr>
      <td class='pageHeader'>
         <@ include 'pageHeader.ssp' @>
      </td>
   </tr>
   <!-- PAGE CONTENTS -->
   ...
   <!-- PAGE FOOTER -->
   ...
</table>
...
</center>
</body>
</html>
    在這里例子種pageHeader.ssp頁(yè)眉文件內(nèi)容將被插入到主頁(yè)面上當(dāng)這個(gè)頁(yè)面被發(fā)送到用戶瀏覽器上.這個(gè)頁(yè)眉文件包含了一個(gè)表達(dá)式:
<!-- Page Header -->
 <span>
    <@ =viewConfig.getAppTitle @>
 </span>
    這個(gè)表達(dá)式將被編譯并且將在運(yùn)行時(shí)輸出為:
<!-- Page Header -->
 <span>
    Flash Jacks' Sleek Tab Site
 </span>

聲明

    聲明允許我們?cè)谀0宸N聲明一個(gè)頁(yè)面級(jí)別的變量,或者甚至其他包含頁(yè)面.一個(gè)聲明看起來(lái)像以下代碼:
    <@ salesAreaID = "Central District" @>
    我們能夠在模板文件中使用聲明:
<@ saleMonth   = data.getValueBean('SALE_MONTH') @>
<@ saleTitle   = data.getValueBean('SALE_TITLE') @>
<@ dealHeading = data.getValueBean('DEAL_HEADING') @>
<@ salesAreaID = "Central District" @>

<html>
<head>
   <link rel='stylesheet' type='text/   <title>
      ...
   </title>
</head>
<body>
...
</body>
</html>
    在這里例子中,我們聲明了一些頁(yè)變量.前3個(gè)變量已經(jīng)在我們創(chuàng)建的Action類中的ActionObject中被賦值:data.getValueBean('SALE_MONTH').第4個(gè)變量被賦了一個(gè)字符串值:salesAreaID = "Central District".
    聲明的變量現(xiàn)在可以在頁(yè)面中使用了:
<!-- start_page_contents_include -->
...
<!-- Content section heading -->
<h4><@=dealHeading @> <@=saleMonth @></h4>

<center>
Clearance deals
<table class='productsTable'>
   ...
</table>
</center>

<center>
Todays specials
<table class='productsTable'>
   ...
</table>
</center>
...
<!-- end_page_contents_include -->
    這些頁(yè)變量將被輸出為:
<!-- Content section heading -->
<h4>Jack's Super Deals for : May 2010</h4>
...
...

表達(dá)式

    表達(dá)式標(biāo)簽允許我們?cè)谀0屙?yè)中執(zhí)行表達(dá)式.表達(dá)式的結(jié)果將被包含進(jìn)模板頁(yè).以下表達(dá)式將被用來(lái)顯示一個(gè)簡(jiǎn)單的字符串(salesAreaID),也可以找回框架配置類的屬性:
<@ =salesAreaID @>
<@ =viewConfig.contactInfo @>
    為了使用這些表達(dá)式,我們要在之前聲明過(guò):
<@ salesAreaID = "Central District" @>
    或者在ViewResourcesConfig對(duì)象(viewConfig)的屬性在view-resources結(jié)點(diǎn)中聲明過(guò):
<view-resources
    appTitle    = "Flash Jacks' Sleek Tab Site"
    contactInfo = "
flash.jack@jackshost.com"
    ...
  </view-resources>
    當(dāng)使用表達(dá)式中的對(duì)象時(shí),我們能夠?qū)懸粋€(gè)對(duì)象-方法(object-method)聲明在標(biāo)準(zhǔn)的PHP符號(hào)或者點(diǎn)風(fēng)格的符號(hào):
The PhpMVC_Tags Object-Method Notation 
PHP Style  sales = data->getSales 
Dot Style  sales = data.getSales 
With Method Params  staff = data.getValueBean("STAFF") 
Retrieve Data Array  products = data->getValueBean("PRODUCTS_ARRAY") 
    在下一個(gè)單元我們將看到如何使用模板標(biāo)簽系統(tǒng)將這些結(jié)合在一起來(lái)構(gòu)建頁(yè)面.

相關(guān)文章

最新評(píng)論