僅僅是輸出變量并不能滿足模板輸出的需要,內(nèi)置模板引擎支持對(duì)模板變量使用調(diào)節(jié)器和格式化功能,其實(shí)也就是提供函數(shù)支持,并支持多個(gè)函數(shù)同時(shí)使用。用于模板標(biāo)簽的函數(shù)可以是PHP內(nèi)置函數(shù)或者是用戶自定義函數(shù),和smarty不同,用于模板的函數(shù)不需要特別的定義。
模板變量的函數(shù)調(diào)用格式為:
說(shuō)明:
{ 和 $ 符號(hào)之間不能有空格 ,后面參數(shù)的空格就沒(méi)有問(wèn)題
###表示模板變量本身的參數(shù)位置
支持多個(gè)函數(shù),函數(shù)之間支持空格
支持函數(shù)屏蔽功能,在配置文件中可以配置禁止使用的函數(shù)列表
支持變量緩存功能,重復(fù)變量字串不多次解析
使用例子:
編譯后的PHP代碼就是:
注意函數(shù)的定義和使用順序的對(duì)應(yīng)關(guān)系,通常來(lái)說(shuō)函數(shù)的第一個(gè)參數(shù)就是前面的變量或者前一個(gè)函數(shù)使用的結(jié)果,如果你的變量并不是函數(shù)的第一個(gè)參數(shù),需要使用定位符號(hào),例如:
編譯后的PHP是:
函數(shù)的使用沒(méi)有個(gè)數(shù)限制,但是可以允許配置TMPL_DENY_FUNC_LIST定義禁用函數(shù)列表,系統(tǒng)默認(rèn)禁用了exit和echo函數(shù),以防止破壞模板輸出,我們也可以增加額外的定義,例如:
TMPL_DENY_FUNC_LIST=>"echo,exit,halt"
多個(gè)函數(shù)之間使用半角逗號(hào)分隔即可。
并且還提供了在模板文件中直接調(diào)用函數(shù)的快捷方法,無(wú)需通過(guò)模板變量,包括兩種方式:
1、執(zhí)行方法并輸出返回值:
格式:{:function(…)}
例如,輸出U方法的返回值:
編譯后的PHP代碼是
2、執(zhí)行方法但不輸出:
格式:{~function(…)}
例如,調(diào)用say_hello函數(shù):
編譯后的PHP代碼是:
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選