乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ThinkPHP XML模版標(biāo)簽和標(biāo)簽庫

       竹林書屋@ 2011-11-19
      ThinkPHP 包含了一個(gè)基于XML和TagLib技術(shù)的模板標(biāo)簽?;旧?,新的標(biāo)簽技術(shù)包含了普通模板有的功能,并且有了一些方面的增強(qiáng)和補(bǔ)充,更重要的一點(diǎn)是新的標(biāo)簽庫模板技術(shù)更加具有擴(kuò)展性。
      新的TagLib標(biāo)簽庫具有命名空間功能,ThinkPHP框架內(nèi)置了兩個(gè)小型的標(biāo)簽庫實(shí)現(xiàn):CX和 Html
      要在模板頁面中使用TagLib標(biāo)簽庫功能,需要在開始時(shí)候使用taglib 標(biāo)簽導(dǎo)入需要使用的標(biāo)簽,防止以后標(biāo)簽庫大量擴(kuò)展后增加解析工作量,用法如下:

      • <tagLib name='cx,html' />


      引入標(biāo)簽庫后,就可以使用標(biāo)簽庫定義的標(biāo)簽來定義模板了,例如:
      //可以使用下面的模板標(biāo)簽定義。

      • <cx:vo name='user' property='name' />
      • <cx:volist id='user' name='userList' >
      • <cx:vo name='user' property='name' />
      • </cx:volist>
      • <html:select options='name' selected='value' />



      標(biāo)簽庫使用的時(shí)候忽略大小寫,因此下面的方式一樣有效:

      • <CX:VO NAME='user' property='name' />


      實(shí)際上,ThinkPHP框架模板引擎會(huì)默認(rèn)加載CX標(biāo)簽庫,所以下面的方式效果相同:

      • <tagLib name='html' />



      并且,默認(rèn)加載的CX庫可以不使用CX命名空間前綴,也就是說

      • <vo name='user' property='name' />

      • //等效于 <cx:vo name='user' property='name' />



      CX標(biāo)簽庫
      CX標(biāo)簽庫主要用于輸出ThinkPHP框架的變量、包含文件和實(shí)現(xiàn)一定控制判斷。主要有:

      • include 包含文件支持的標(biāo)簽屬性有 file
      • comment 模板注釋 無標(biāo)簽屬性
      • iterate 迭代因子輸出,循環(huán)內(nèi)可以結(jié)合write標(biāo)簽
      • 支持的標(biāo)簽屬性有 id | name | offset | length | empty

      • write 復(fù)雜變量輸出,包括數(shù)組、對象 ,有函數(shù)支持
      • 支持的標(biāo)簽屬性有 name | property | key | format | function

      • volist 數(shù)據(jù)對象列表輸出,循環(huán)內(nèi)可以結(jié)合vo標(biāo)簽
      • 支持的標(biāo)簽屬性有 id | name | offset | length | empty

      • vo 數(shù)據(jù)對象輸出
      • 支持的標(biāo)簽屬性有 name | property | format | function
      • var 變量輸出用于普通變量
      • 支持的標(biāo)簽屬性有 name | format | function

      • equal 判斷是否相同
      • notequal 判斷是否不同
      • 支持的標(biāo)簽屬性有 name | property | key | value | function

      • present 判斷是否定義
      • notpresent 判斷是否沒有定義
      • 支持的標(biāo)簽屬性有 name | property | key




      Html標(biāo)簽庫
      Html標(biāo)簽庫主要用于實(shí)現(xiàn)一些Html標(biāo)記的動(dòng)態(tài)生成和變量封裝,主要有:

      • select 動(dòng)態(tài)生成select列表
      • checkbox 動(dòng)態(tài)生成checkbox
      • radio 動(dòng)態(tài)生成radio
      • link 動(dòng)態(tài)加載js或者css文件
      • imageLink 帶有鏈接的圖片
      • imageBtn 圖片按鈕
      • mulitSelect 多選組件

      • list DataGrid組件


      要使用Html標(biāo)簽庫,需要添加html命名前綴,如
      • <html:link href='/path/to/common.js' />

      • //這是一個(gè)復(fù)雜的DataGrid組件的標(biāo)簽定義

      • <html:list id='checkList' style='list' name='action' checkbox='true' action='true'datasource='list' show='id:編號(hào)|8%,name:名稱,title:顯示名,status|getStatus:狀態(tài)|8%'actionlist='edit:編輯,del:刪除,forbid|resume:禁用|恢復(fù)' />



      模板標(biāo)簽的混合使用
      現(xiàn)在我們已經(jīng)知道了ThinkPHP模板引擎的兩種標(biāo)簽定義方式,其實(shí),搭配使用兩種定義方式能夠帶來更大的效率。
      舉個(gè)VOLIST標(biāo)簽的例子,我們可以用下面的方式輸出一個(gè)VoList對象 userList:

      • <volist id='user' name='userList' >
      • <vo name='user' property='name' />
      • <vo name='user' property='age' />
      • <vo name='user' property='email' />
      • </volist>

      但是,用

      • <volist id='user' name='userList' >
      • {$user.name }
      • {$user.age }
      • {$user.email }
      • </volist>



      的方式似乎更加簡單。
      對于不太復(fù)雜的變量輸出,建議多采用{$var} 方式,因?yàn)閱渭儚囊子眯苑矫娑裕@種方式最簡潔,而且功能也比較完善。

      系統(tǒng)默認(rèn)加載的標(biāo)簽庫只是一個(gè)很小型的實(shí)現(xiàn),你完全可以自定義標(biāo)簽庫。至于如何自定義標(biāo)簽庫放到高級(jí)篇里面敘述,相信能夠使用好系統(tǒng)標(biāo)簽庫已經(jīng)足以應(yīng)付大部分模板功能。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請遵守用戶 評(píng)論公約

        類似文章 更多