PHP.MVC的模板標籤系統(三)_PHP教程

來源:互聯網
上載者:User
PHP.MVC標籤文法

在基本的介紹之後,我們現在就可以來看看模板標籤系統的文法.
在看具體的標籤之前,我們應該定義什麼作為我們的標籤.為了寫一個標籤,我們使用<@ ... @>標籤結點.左標籤(<@)和右標籤(@>)是預設的標籤.如果必要的話,這些標籤我們能夠在phpmvc-config.xml中重新定義.
模板標籤系統現在支援以下3種標籤:包含指令,聲明和運算式.我們現在來看看這些指令.

包含指令

包含指令能讓我們將內容分隔為許多模組,比如:頁首,頁尾或者內容.包含的頁面可以是HTML,或者其他標籤模板頁.據個例子,下面的包含指令能用來包含一個頁首:
<@ include 'pageHeader.ssp' @>
一個包含指令在模板上下文種的例子:


...











... ...

<@ include 'pageHeader.ssp' @>

...



在這裡例子種pageHeader.ssp頁首檔案內容將被插入到首頁面上當這個頁面被發送到使用者瀏覽器上.這個頁首檔案包含了一個運算式:


<@ =viewConfig.getAppTitle @>

這個運算式將被編譯並且將在運行時輸出為:


Flash Jacks' Sleek Tab Site

聲明

聲明允許我們在模板種聲明一個頁面層級的變數,或者甚至其他包含頁面.一個聲明看起來像以下代碼:
<@ salesAreaID = "Central District" @>
我們能夠在模板檔案中使用聲明:
<@ saleMonth = data.getValueBean('SALE_MONTH') @>
<@ saleTitle = data.getValueBean('SALE_TITLE') @>
<@ dealHeading = data.getValueBean('DEAL_HEADING') @>
<@ salesAreaID = "Central District" @>




<BR> ...<BR>


...


在這裡例子中,我們聲明了一些頁變數.前3個變數已經在我們建立的Action類中的ActionObject中被賦值:data.getValueBean('SALE_MONTH').第4個變數被賦了一個字串值:salesAreaID = "Central District".
聲明的變數現在可以在頁面中使用了:

...

<@=dealHeading @> <@=saleMonth @>


Clearance deals


...


Todays specials


...


...

這些頁變數將被輸出為:

Jack's Super Deals for : May 2010


...
...

運算式

運算式標籤允許我們在模板頁中執行運算式.運算式的結果將被包含進模板頁.以下運算式將被用來顯示一個簡單的字串(salesAreaID),也可以找回架構配置類的屬性:
<@ =salesAreaID @>
<@ =viewConfig.contactInfo @>
為了使用這些運算式,我們要在之前聲明過:
<@ salesAreaID = "Central District" @>
或者在ViewResourcesConfig對象(viewConfig)的屬性在view-resources結點中聲明過:
appTitle = "Flash Jacks' Sleek Tab Site"
contactInfo = "flash.jack@jackshost.com"
...

當使用運算式中的對象時,我們能夠寫一個對象-方法(object-method)聲明在標準的PHP符號或者點風格的符號:
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")
在下一個單元我們將看到如何使用模板標籤系統將這些結合在一起來構建頁面.

http://www.bkjia.com/PHPjc/313704.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313704.htmlTechArticlePHP.MVC標籤文法 在基本的介紹之後,我們現在就可以來看看模板標籤系統的文法. 在看具體的標籤之前,我們應該定義什麼作為我們的標籤.為了...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.