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

ThinkPHP 模板引擎使用詳解

 更新時(shí)間:2017年05月07日 15:04:01   作者:Mather  
thinkphp系統(tǒng)支持原生的PHP模板,而且本身內(nèi)置了一個(gè)基于XML的高效的編譯型模板引擎,系統(tǒng)默認(rèn)使用的模板引擎是內(nèi)置模板引擎,關(guān)于這個(gè)模板引擎的標(biāo)簽詳細(xì)使用可以參考模版引擎部分。

ThinkPHP 內(nèi)置的模板引擎來(lái)定義模板文件,以及使用加載文件、模板布局和模板繼承等高級(jí)功能。

每個(gè)模板文件在執(zhí)行過(guò)程中都會(huì)生成一個(gè)編譯后的緩存文件,其實(shí)就是一個(gè)可以運(yùn)行的 PHP 文件。

引用自 http://www.kancloud.cn/manual/thinkphp5/118122

PHP

/*index/controller/example.php*/
 
use think\Controller;
 
class test extends Index {
 
  public function template (){
    $name = 'Jerry';
    $allName = [
      0 => "Jerry", 
      1 => "Tom"
    ];
 
    $this->assign('nameA',$name);
    $this->assign('allName',$allName);
 
    return $this->fetch('example');
  }
}

 
HTML

/*index/view/example.html*/
 
<span>{$nameA}</span>
 
{volist name="allName" id="vo"}
 
  <p data-sub="{$key}" data-index="{$i}">{$vo}</p>
 
{/volist}
 
 
Result

<br /><span>Jerry</span>
 
<p data-sub="0" data-index="1">Jerry</p>
 
<p data-sub="1" data-index="2">Tom</p>
 
 

這樣 ThinkPHP 便完成了對(duì)頁(yè)面的解析工作,其中涉及到 模板實(shí)例化、定位、賦值、渲染及標(biāo)簽的使用。

視圖實(shí)例化

暫無(wú)

模板賦值

顯然在在模板中直接使用 $name 是找不到該變量的。必須使用 assign 方法對(duì)模板賦值。在執(zhí)行渲染輸出函數(shù)前, assign 方法使 函數(shù)內(nèi)部變量與模板變量建立起映射關(guān)系。

$this->assign('name',$name);
$this->assign('allName',$allName);
 

通過(guò)賦值之后,便可以在模板文件中使用 {$nameA} 來(lái)輸出該變量了。

模板渲染

當(dāng)數(shù)據(jù)已經(jīng)準(zhǔn)備好渲染到頁(yè)面上,還需要指定 html 文件作為渲染模板,為當(dāng)前函數(shù)執(zhí)行 fetch 方法時(shí)候傳入 example 參數(shù)。 

return $this->fetch('example');

模板標(biāo)簽

在模板文件中使用內(nèi)置標(biāo)簽可以幫助我們?cè)谀0逯醒h(huán)、判斷變量。它以一對(duì)花括號(hào) {tag} {/tag} 作為開(kāi)標(biāo)簽和閉標(biāo)簽。 { 與 } 之間必須緊跟標(biāo)簽屬性或值,存在 空格 和 換行 都不能在渲染時(shí)被解析。

volist 標(biāo)簽就是內(nèi)置標(biāo)簽中的其中一個(gè),通常用來(lái)循環(huán)某個(gè)數(shù)組變量。

{volist name="allName" id="vo"}
 
  <p data-sub="{$key}" data-index="{$i}">{$vo}</p>
 
{/volist}

allName 是通過(guò)模板賦值的變量 ,現(xiàn)在可以在模板上直接使用了,顯然它是一個(gè)數(shù)組, volist 標(biāo)簽對(duì)它做了循環(huán)操作。

volist 標(biāo)簽常用的一些屬性:

prop name id
key 數(shù)組名 當(dāng)前元素
value allName vo

隱藏在 volist 中的有幾個(gè)內(nèi)部變量 {$key} {$i} ,分別代表了 數(shù)組下標(biāo) 和 循環(huán)次數(shù) 。

內(nèi)置標(biāo)簽

與 volist 一樣好用的內(nèi)置標(biāo)簽還有很多:

<notempty name=""></notempty> //判斷數(shù)據(jù)是否不為空 不為空則執(zhí)行

相關(guān)文章

  • php導(dǎo)出excel格式數(shù)據(jù)問(wèn)題

    php導(dǎo)出excel格式數(shù)據(jù)問(wèn)題

    本篇文章主要是對(duì)php導(dǎo)出excel格式數(shù)據(jù)的問(wèn)題進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-03-03
  • web站點(diǎn)獲取用戶IP的安全方法 HTTP_X_FORWARDED_FOR檢驗(yàn)

    web站點(diǎn)獲取用戶IP的安全方法 HTTP_X_FORWARDED_FOR檢驗(yàn)

    通過(guò)上一篇,獲取用戶Ip地址通用方法常見(jiàn)安全隱患(HTTP_X_FORWARDED_FOR) ,我們已經(jīng)意 識(shí)到直接從http_x_forwarded_for中讀取用戶IP,跟我們直接從一個(gè)get,post值中讀取其實(shí)沒(méi)有兩樣。web參數(shù)檢測(cè)里面一個(gè)基本原則:“一切輸入都是有害的”,因此,只要是輸入我們就需要進(jìn)行過(guò)濾
    2013-06-06
  • php阿拉伯?dāng)?shù)字轉(zhuǎn)中文人民幣大寫(xiě)

    php阿拉伯?dāng)?shù)字轉(zhuǎn)中文人民幣大寫(xiě)

    這篇文章主要介紹了php阿拉伯?dāng)?shù)字轉(zhuǎn)中文大寫(xiě)金額,分享了兩種實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下
    2015-12-12
  • PHP微框架Dispatch簡(jiǎn)介

    PHP微框架Dispatch簡(jiǎn)介

    Dispatch是一個(gè)PHP小框架,可以合并Dispatch和其他框架,開(kāi)發(fā)出相當(dāng)強(qiáng)大并且輕量級(jí)的程序,需要的朋友可以參考下
    2014-06-06
  • php htmlentities和htmlspecialchars 的區(qū)別

    php htmlentities和htmlspecialchars 的區(qū)別

    很多人都以為htmlentities跟htmlspecialchars的功能是一樣的,都是格式化html代碼的,我以前也曾這么認(rèn)為,但是今天我發(fā)現(xiàn)并不是這樣的。
    2008-08-08
  • 10個(gè)實(shí)用的PHP代碼片段

    10個(gè)實(shí)用的PHP代碼片段

    這些代碼在Web開(kāi)發(fā)經(jīng)常會(huì)用到,比較實(shí)用的代碼,提高開(kāi)發(fā)效率。
    2011-09-09
  • php array_chunk()函數(shù)用法與注意事項(xiàng)

    php array_chunk()函數(shù)用法與注意事項(xiàng)

    這篇文章主要介紹了php array_chunk()函數(shù)用法與注意事項(xiàng),結(jié)合實(shí)例形式分析了php數(shù)組分割函數(shù)array_chunk()相關(guān)功能、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • 詳解PHP Swoole與TCP三次握手

    詳解PHP Swoole與TCP三次握手

    TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接(連接導(dǎo)向)的、可靠的、 基于IP的傳輸層協(xié)議。TCP在IP報(bào)文的協(xié)議號(hào)是6。TCP是一個(gè)超級(jí)麻煩的協(xié)議,而它又是互聯(lián)網(wǎng)的基礎(chǔ),也是每個(gè)程序員必備的基本功。本文將詳細(xì)介紹PHP Swoole與TCP三次握手。
    2021-05-05
  • PHP 字符串正則替換函數(shù)preg_replace使用說(shuō)明

    PHP 字符串正則替換函數(shù)preg_replace使用說(shuō)明

    PHP 字符串正則替換函數(shù)preg_replace使用說(shuō)明,需要的朋友可以參考下。
    2011-07-07
  • PHP獲取當(dāng)前所在目錄位置的方法

    PHP獲取當(dāng)前所在目錄位置的方法

    這篇文章主要介紹了PHP獲取當(dāng)前所在目錄位置的方法,涉及getcwd(0函數(shù)的用法以及相關(guān)的PHP目錄操作函數(shù)的使用技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11

最新評(píng)論