Thinkphp模板中函數的使用

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

相關文章
相關標籤/搜索