Thinkphp模板中函數的使用

1.在模板中使用php函數

   在thinkphp的html中,我們經常會遇到一些變量難以直接從php控制端直接處理,這些變量只有在模板中循環輸出的時候處理比較合適,這個時候,我們就要在模板中使用函數

 

  1.1對輸出模板使用php函數

 

{$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變量,因爲該變量是第二個參數,因此需要用###標識變量位置。

 

  翻譯成php語言:

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

      

      1.2.2將前面輸出的變量當後面函數的第一個參數使用

 

{$data.name|substr=0,3}

 

或者

 

{$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中的方法都是項目中公共使用較多的方法。

 

發佈了42 篇原創文章 · 獲贊 9 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章