1.在模板中使用php函數php
在thinkphp的html中,咱們常常會遇到一些變量難以直接從php控制端直接處理,這些變量只有在模板中循環輸出的時候處理比較合適,這個時候,咱們就要在模板中使用函數html
1.1對輸出模板使用php函數thinkphp
{$data.name|md5} //把模板中的name變量進行md5加密
把這句話翻譯成php語言:緩存
<?php echo (md5($data['name'])); ?>
1.2函數中多個參數須要調用函數
1.2.1將前面輸出的變量當後面函數的第二個參數使用加密
{$create_time|date="y-m-d",###}
解釋:date函數傳入兩個參數,每一個參數用逗號分割,這裏第一個參數是y-m-d
,第二個參數是前面要輸出的create_time
變量,由於該變量是第二個參數,所以須要用###標識變量位置。spa
翻譯成php語言:翻譯
<?php echo (date("y-m-d",$create_time)); ?>
1.2.2將前面輸出的變量當後面函數的第一個參數使用code
{$data.name|substr=0,3}
或者htm
{$data.name|substr=###,0,3}
翻譯成php語言
<?php echo (substr($data['name'],0,3)); ?>
1.3對一個變量進行多個函數的處理
{$name|md5|strtoupper|substr=0,3}
每一個函數之間用丨符號隔開,且函數執行順序是從左往右依次調用
或者:
{:substr(strtoupper(md5($name)),0,3)}
編譯成php語言:
<?php echo (substr(strtoupper(md5($name)),0,3)); ?>
2.變量在模板中輸出使用自定義函數
在項目中,除了一些php函數,咱們也能夠根據本身項目的實際需求,在項目應用目錄/common/function.php中,寫入本身自定義的函數
重點說明:{ 和 $ 符號之間不能有空格,後面參數的空格就沒有問題;
###表示模板變量自己的參數位置 ;
支持多個函數,函數之間支持空格 ;
支持函數屏蔽功能,在配置文件中能夠配置禁止使用的函數列表 ;
支持變量緩存功能,重複變量字串很少次解析。
2.1自定義函數的使用
簡單的自定義函數和使用php函數基本一致。
2.2自定義函數的高級使用
{$varname|function1|function2=arg1,arg2,### }
翻譯成php代碼:
<?php echo (function2(function1(arg1,arg2,$varname)); ?>
2.3案例
我在function.php中寫入一個方法
function Cate($cid){ $Cate=D('Cate'); $Cate=$Cate->where('id='.$cid)->find(); return $Cate['title']; }
在模板中調用這個自定義函數:
{$vo.cid|cate=###}
我這只是舉個例子,通常寫在function中的方法都是項目中公共使用較多的方法。