think PHP全栈开发教程,【Thinkphp教程】模板中使用函数
僅僅是輸出變量并不能滿足模板輸出的需要,內置模板引擎支持對模板變量使用調節器和格式化功能,其實也就是提供函數支持,并支持多個函數同時使用。用于模板標簽的函數可以是PHP內置函數或者是用戶自定義函數,和smarty不同,用于模板的函數不需要特別的定義。
模板變量的函數調用格式為:
{$varname|function1|function2=arg1,arg2,###?}
說明: { 和 $ 符號之間不能有空格 ,后面參數的空格就沒有問題
###表示模板變量本身的參數位置 支持多個函數,函數之間支持空格 支持函數屏蔽功能,在配置文件中可以配置禁止使用的函數列表 支持變量解析緩存功能,重復變量字串不多次解析
使用例子:
{$webTitle|md5|strtoupper|substr=0,3}
編譯后的PHP代碼就是:
注意函數的定義和使用順序的對應關系,通常來說函數的第一個參數就是前面的變量或者前一個函數調用的返回結果,如果你的變量并不是函數的第一個參數,需要使用定位符號,例如:
{$create_time|date="y-m-d",###}
編譯后的PHP是:
函數的使用沒有個數限制,但是可以允許配置TMPL_DENY_FUNC_LIST定義禁用函數列表,系統默認禁用了exit和echo函數,以防止破壞模板輸出,我們也可以增加額外的定義,例如:
TMPL_DENY_FUNC_LIST=>"echo,exit,halt"
多個函數之間使用半角逗號分隔即可。
并且還提供了在模板文件中直接調用函數的快捷方法,這種方式更加直接明了,而且無需通過模板變量,包括兩種方式:
1、執行方法并輸出返回值:
格式:{:function(…)}
例如,輸出U方法的返回值:
{:U('User/insert')}
編譯后的PHP代碼是
2、執行方法但不輸出:
格式:{~function(…)}
例如,調用say_hello函數:
{~say_hello('ThinkPHP')}
編譯后的PHP代碼是:
總結
以上是生活随笔為你收集整理的think PHP全栈开发教程,【Thinkphp教程】模板中使用函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 惠普电脑bios怎么进pe 进入PE环境
- 下一篇: 怎么设置u盘启动uefi启动 设置U盘U