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

ThinkPHP模版引擎之變量輸出詳解

 更新時(shí)間:2014年12月05日 10:22:50   投稿:shichen2014  
這篇文章主要介紹了ThinkPHP模版引擎的變量輸出用法,分析了變量輸出的常見(jiàn)用法與使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例分析了ThinkPHP模版引擎中變量輸出的用法。分享給大家供大家參考。具體分析如下:

我們已經(jīng)知道了在Action中使用assign方法可以給模板變量賦值,賦值后怎么在模板文件中輸出變量的值呢?

如果我們?cè)贏ction中賦值了一個(gè)name模板變量:

復(fù)制代碼 代碼如下:
$name = 'ThinkPHP';
$this->assign('name',$name);

使用內(nèi)置的模板引擎輸出變量,只需要在模版文件使用:
{$name}

模板編譯后的結(jié)果就是

復(fù)制代碼 代碼如下:
<?php echo($name);?>

最后運(yùn)行的時(shí)候就可以在標(biāo)簽位置顯示ThinkPHP的輸出結(jié)果,注意模板標(biāo)簽的{和$之間不能有任何的空格,否則標(biāo)簽無(wú)效。普通標(biāo)簽?zāi)J(rèn)開(kāi)始標(biāo)記是 {,結(jié)束標(biāo)記是 },也可以通過(guò)設(shè)置TMPL_L_DELIM和TMPL_R_DELIM進(jìn)行更改,例如,我們?cè)陧?xiàng)目配置文件中定義:

復(fù)制代碼 代碼如下:
'TMPL_L_DELIM'=>'<{', 
'TMPL_R_DELIM'=>'}>',

那么,上面的變量輸出標(biāo)簽就應(yīng)該改成:

<{$name}>

后面的內(nèi)容我們都以默認(rèn)的標(biāo)簽定義來(lái)說(shuō)明,assign方法里面的第一個(gè)參數(shù)才是模板文件中使用的變量名稱(chēng),如果改成下面的代碼:

復(fù)制代碼 代碼如下:
$name = 'ThinkPHP';
$this->assign('name2',$name);

再使用{$name} 輸出就無(wú)效了,必須使用 {$name2}才能輸出模板變量的值了.如果我們需要把一個(gè)用戶(hù)數(shù)據(jù)對(duì)象賦值給模板變量:
復(fù)制代碼 代碼如下:
$User = M('name');
$user = $User->find(1);
$this->assign('user',$user);

也就是說(shuō)$user其實(shí)是一個(gè)數(shù)組變量,我們可以使用下面的方式來(lái)輸出相關(guān)的值:
復(fù)制代碼 代碼如下:
{$user['name']}//輸出用戶(hù)的名稱(chēng)
{$user['email']} //輸出用戶(hù)的email地址

如果$user是一個(gè)對(duì)象而不是數(shù)組的話.
復(fù)制代碼 代碼如下:
$User = M('name');
$User->find(1);
$this->assign('user',$User);

可以使用下面的方式輸出相關(guān)的屬性值:
復(fù)制代碼 代碼如下:
{$user:name}// 輸出用戶(hù)的名稱(chēng)
{$user:email} // 輸出用戶(hù)的email地址

3.1版本以后,類(lèi)的屬性輸出方式有所調(diào)整,支持原生的PHP對(duì)象寫(xiě)法,所以上面的標(biāo)簽需要改成:
復(fù)制代碼 代碼如下:
{$user->name}// 輸出用戶(hù)的名稱(chēng)
{$user->email} // 輸出用戶(hù)的email地址

為了方便模板定義,還可以支持點(diǎn)語(yǔ)法,例如,上面的 
復(fù)制代碼 代碼如下:
{$user['name']}// 輸出用戶(hù)的名稱(chēng)
{$user['email']} // 輸出用戶(hù)的email地址

可以改成
復(fù)制代碼 代碼如下:
{$user.name}
{$user.email}

因?yàn)辄c(diǎn)語(yǔ)法默認(rèn)的輸出是數(shù)組方式,所以上面兩種方式是在沒(méi)有配置的情況下是等效的,我們可以通過(guò)配置TMPL_VAR_IDENTIFY參數(shù)來(lái)決定點(diǎn)語(yǔ)法的輸出效果,以下面的輸出為例:{$user.name}

如果TMPL_VAR_IDENTIFY設(shè)置為array,那么

{$user.name}和{$user['name']}等效,也就是輸出數(shù)組變量.

如果TMPL_VAR_IDENTIFY設(shè)置為obj,那么

{$user.name}和{$user:name}等效,也就是輸出對(duì)象的屬性。

如果TMPL_VAR_IDENTIFY留空的話,系統(tǒng)會(huì)自動(dòng)判斷要輸出的變量是數(shù)組還是對(duì)象,這種方式會(huì)一定程度上影響效率,而且只支持二維數(shù)組和兩級(jí)對(duì)象屬性。

如果是多維數(shù)組或者多層對(duì)象屬性的輸出,可以使用下面的定義方式:

復(fù)制代碼 代碼如下:
{$user.sub.name}//使用點(diǎn)語(yǔ)法輸出

或者使用

復(fù)制代碼 代碼如下:
{$user['sub']['name']}// 輸出三維數(shù)組的值 
{$user:sub:name}// 輸出對(duì)象的多級(jí)屬性

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • TP5(thinkPHP5)框架基于ajax與后臺(tái)數(shù)據(jù)交互操作簡(jiǎn)單示例

    TP5(thinkPHP5)框架基于ajax與后臺(tái)數(shù)據(jù)交互操作簡(jiǎn)單示例

    這篇文章主要介紹了TP5(thinkPHP5)框架基于ajax與后臺(tái)數(shù)據(jù)交互操作,結(jié)合實(shí)例形式分析了thinkPHP5前端基于jQuery的ajax數(shù)據(jù)提交及后臺(tái)數(shù)據(jù)接收、處理相關(guān)操作技巧,需要的朋友可以參考下
    2018-09-09
  • PHP按行讀取、處理較大CSV文件的代碼實(shí)例

    PHP按行讀取、處理較大CSV文件的代碼實(shí)例

    這篇文章主要介紹了PHP按行讀取、處理較大CSV文件的代碼實(shí)例,需要的朋友可以參考下
    2014-04-04
  • php版微信公眾號(hào)自定義分享內(nèi)容實(shí)現(xiàn)方法

    php版微信公眾號(hào)自定義分享內(nèi)容實(shí)現(xiàn)方法

    這篇文章主要介紹了php版微信公眾號(hào)自定義分享內(nèi)容實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)微信公眾號(hào)自定義分享內(nèi)容的接口調(diào)用與相關(guān)使用技巧,需要的朋友可以參考下
    2016-09-09
  • laravel 實(shí)現(xiàn)關(guān)閉CSRF(全部關(guān)閉、部分關(guān)閉)

    laravel 實(shí)現(xiàn)關(guān)閉CSRF(全部關(guān)閉、部分關(guān)閉)

    今天小編就為大家分享一篇laravel 實(shí)現(xiàn)關(guān)閉CSRF(全部關(guān)閉、部分關(guān)閉),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • CodeIgniter基于Email類(lèi)發(fā)郵件的方法

    CodeIgniter基于Email類(lèi)發(fā)郵件的方法

    這篇文章主要介紹了CodeIgniter基于Email類(lèi)發(fā)郵件的方法,結(jié)合實(shí)例形式分析了CodeIgniter調(diào)用CI自帶的Email類(lèi)實(shí)現(xiàn)發(fā)送郵件的相關(guān)使用技巧,需要的朋友可以參考下
    2016-03-03
  • Laravel 微信小程序后端搭建步驟詳解

    Laravel 微信小程序后端搭建步驟詳解

    這篇文章主要介紹了Laravel 微信小程序后端搭建步驟詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Yii中表單用法實(shí)例詳解

    Yii中表單用法實(shí)例詳解

    這篇文章主要介紹了Yii中表單用法,結(jié)合實(shí)例形式較為詳細(xì)的分析總結(jié)了Yii針對(duì)表單的各種常用操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-01-01
  • php學(xué)習(xí)Eloquent修改器源碼示例解析

    php學(xué)習(xí)Eloquent修改器源碼示例解析

    這篇文章主要為大家介紹了php學(xué)習(xí)Eloquent修改器源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 修改apache配置文件去除thinkphp url中的index.php

    修改apache配置文件去除thinkphp url中的index.php

    這篇文章主要介紹了修改apache配置文件去除thinkphp url中的index.php的方法,大家參考使用吧
    2014-01-01
  • PHP Cookei記錄用戶(hù)歷史瀏覽信息的代碼

    PHP Cookei記錄用戶(hù)歷史瀏覽信息的代碼

    購(gòu)物類(lèi)網(wǎng)站有時(shí)候需要了解用戶(hù)最近的需求,收集和推送用戶(hù)的查看記錄成為了大部分此類(lèi)的網(wǎng)站不可缺少的功能,下面是本人在開(kāi)發(fā)項(xiàng)目中自己寫(xiě)的方法,一來(lái)留有保存,二來(lái)和大家分享
    2016-02-02

最新評(píng)論