国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

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

2020-03-22 19:59:28
字體:
供稿:網(wǎng)友
本文實例分析了ThinkPHP模版引擎中變量輸出的用法。分享給大家供大家參考。具體分析如下:我們已經(jīng)知道了在Action中使用assign方法可以給模板變量賦值,賦值后怎么在模板文件中輸出變量的值呢?如果我們在Action中賦值了一個name模板變量:
復(fù)制代碼 代碼如下:$name = 'ThinkPHP';
$this- assign('name',$name);
使用內(nèi)置的模板引擎輸出變量,只需要在模版文件使用:
{$name}模板編譯后的結(jié)果就是
復(fù)制代碼 代碼如下: php echo($name); 最后運行的時候就可以在標(biāo)簽位置顯示ThinkPHP的輸出結(jié)果,注意模板標(biāo)簽的{和$之間不能有任何的空格,否則標(biāo)簽無效。普通標(biāo)簽?zāi)J(rèn)開始標(biāo)記是 {,結(jié)束標(biāo)記是 },也可以通過設(shè)置TMPL_L_DELIM和TMPL_R_DELIM進(jìn)行更改,例如,我們在項目配置文件中定義:
復(fù)制代碼 代碼如下:'TMPL_L_DELIM'= ' {',
'TMPL_R_DELIM'= '} ',
那么,上面的變量輸出標(biāo)簽就應(yīng)該改成: {$name} 后面的內(nèi)容我們都以默認(rèn)的標(biāo)簽定義來說明,assign方法里面的第一個參數(shù)才是模板文件中使用的變量名稱,如果改成下面的代碼:
復(fù)制代碼 代碼如下:$name = 'ThinkPHP';
$this- assign('name2',$name);
再使用{$name} 輸出就無效了,必須使用 {$name2}才能輸出模板變量的值了.如果我們需要把一個用戶數(shù)據(jù)對象賦值給模板變量:
復(fù)制代碼 代碼如下:$User = M('name');
$user = $User- find(1);
$this- assign('user',$user);
也就是說$user其實是一個數(shù)組變量,我們可以使用下面的方式來輸出相關(guān)的值:
復(fù)制代碼 代碼如下:{$user['name']}//輸出用戶的名稱
{$user['email']} //輸出用戶的email地址
如果$user是一個對象而不是數(shù)組的話.
復(fù)制代碼 代碼如下:$User = M('name');
$User- find(1);
$this- assign('user',$User);
可以使用下面的方式輸出相關(guān)的屬性值:
復(fù)制代碼 代碼如下:{$user:name}// 輸出用戶的名稱
{$user:email} // 輸出用戶的email地址
3.1版本以后,類的屬性輸出方式有所調(diào)整,支持原生的PHP對象寫法,所以上面的標(biāo)簽需要改成:
復(fù)制代碼 代碼如下:{$user- name}// 輸出用戶的名稱
{$user- email} // 輸出用戶的email地址
為了方便模板定義,還可以支持點語法,例如,上面的
復(fù)制代碼 代碼如下:{$user['name']}// 輸出用戶的名稱
{$user['email']} // 輸出用戶的email地址
可以改成
復(fù)制代碼 代碼如下:{$user.name}
{$user.email}
因為點語法默認(rèn)的輸出是數(shù)組方式,所以上面兩種方式是在沒有配置的情況下是等效的,我們可以通過配置TMPL_VAR_IDENTIFY參數(shù)來決定點語法的輸出效果,以下面的輸出為例:{$user.name}如果TMPL_VAR_IDENTIFY設(shè)置為array,那么{$user.name}和{$user['name']}等效,也就是輸出數(shù)組變量.如果TMPL_VAR_IDENTIFY設(shè)置為obj,那么{$user.name}和{$user:name}等效,也就是輸出對象的屬性。如果TMPL_VAR_IDENTIFY留空的話,系統(tǒng)會自動判斷要輸出的變量是數(shù)組還是對象,這種方式會一定程度上影響效率,而且只支持二維數(shù)組和兩級對象屬性。如果是多維數(shù)組或者多層對象屬性的輸出,可以使用下面的定義方式:
復(fù)制代碼 代碼如下:{$user.sub.name}//使用點語法輸出或者使用
復(fù)制代碼 代碼如下:{$user['sub']['name']}// 輸出三維數(shù)組的值
{$user:sub:name}// 輸出對象的多級屬性希望本文所述對大家基于Thinkhtml' target='_blank'>PHP框架的PHP程序設(shè)計有所幫助。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 客服| 达尔| 昂仁县| 平和县| 舒兰市| 永济市| 镇坪县| 陈巴尔虎旗| 山阳县| 特克斯县| 汝州市| 砀山县| 怀化市| 酒泉市| 沙雅县| 德惠市| 宣威市| 林芝县| 双流县| 瑞安市| 读书| 南溪县| 哈巴河县| 独山县| 含山县| 泰安市| 临夏市| 沧源| 扎鲁特旗| 井冈山市| 宁明县| 鹤庆县| 仙居县| 雷州市| 米林县| 建德市| 洪泽县| 宝山区| 彰化市| 潍坊市| 永州市|