Thinkphp模板中函數的使用

來源:互聯網
上載者:User

標籤:www.   方法   簡單   輸出   logs   name   配置   echo   控制   

https://www.cnblogs.com/jingmin/p/6440673.html

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

Thinkphp模板中函數的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.