久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

ThinkPHP-模板指南-使用函數(shù)

來自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

導(dǎo)航:返回上一頁

僅僅是輸出變量并不能滿足模板輸出的需要,內(nèi)置模板引擎支持對(duì)模板變量使用調(diào)節(jié)器和格式化功能,其實(shí)也就是提供函數(shù)支持,并支持多個(gè)函數(shù)同時(shí)使用。用于模板標(biāo)簽的函數(shù)可以是PHP內(nèi)置函數(shù)或者是用戶自定義函數(shù),和smarty不同,用于模板的函數(shù)不需要特別的定義。

模板變量的函數(shù)調(diào)用格式為:

XML/HTML代碼

{$varname|function1|function2=arg1,arg2,### }    

說明:

  • { 和 $ 符號(hào)之間不能有空格 ,后面參數(shù)的空格就沒有問題
  • ###表示模板變量本身的參數(shù)位置
  • 支持多個(gè)函數(shù),函數(shù)之間支持空格
  • 支持函數(shù)屏蔽功能,在配置文件中可以配置禁止使用的函數(shù)列表
  • 支持變量緩存功能,重復(fù)變量字串不多次解析

使用例子: XML/HTML代碼

{$webTitle|md5|strtoupper|substr=0,3}

編譯后的PHP代碼就是:

PHP代碼

<?php echo (substr(strtoupper(md5($webTitle)),0,3)); ?>   

注意函數(shù)的定義和使用順序的對(duì)應(yīng)關(guān)系,通常來說函數(shù)的第一個(gè)參數(shù)就是前面的變量或者前一個(gè)函數(shù)使用的結(jié)果,如果你的變量并不是函數(shù)的第一個(gè)參數(shù),需要使用定位符號(hào),例如:

XML/HTML代碼{$create_time|date="y-m-d",###}

編譯后的PHP是:

PHP代碼

<?php echo (date("y-m-d",$create_time)); ?>   

函數(shù)的使用沒有個(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ù)的快捷方法,無需通過模板變量,包括兩種方式:

  • 執(zhí)行方法并輸出返回值:

格式:{:function(…)}

例如,輸出U方法的返回值:

XML/HTML代碼{:U('User/insert')}

編譯后的PHP代碼是

PHP代碼

<?php echo U('User/insert');?>   
  • 執(zhí)行方法但不輸出:

格式:{~function(…)}

例如,調(diào)用say_hello函數(shù):

XML/HTML代碼:{~say_hello('ThinkPHP')}

編譯后的PHP代碼是:

PHP代碼

<?php say_hello('ThinkPHP');?>