首頁  >  文章  >  後端開發  >  ThinkPHP模板之變數輸出、自訂函數與判斷語句用法

ThinkPHP模板之變數輸出、自訂函數與判斷語句用法

不言
不言原創
2018-06-06 15:41:481837瀏覽

這篇文章主要介紹了ThinkPHP模板之變量輸出、自訂函數與判斷語句用法,是關於ThinkPHP模板操作中非常實用的技巧,需要的朋友可以參考下

本文實例講述了ThinkPHP模板之變數輸出、自訂函數與判斷語句用法。主要包括變數輸出、自訂函數與判斷語句三種用法。分享給大家供大家參考。具體分析如下:

範本操作變數輸出:

快速輸出變數

#複製程式碼 程式碼如下:

{:function(…)} //执行方法并输出返回值
{~function} //执行方法不输出
{@var} //输出Session变量
{#var} //输出Cookie变量
{&var} //输出配置参数  
{%var} //输出语言变量
{.var} //输出GET变量
{^var} //输出POST变量
{*var} //输出常量

 模版輸出

複製程式碼 程式碼如下:

//1 直接调用index操作模板
$this->display();
// 对应Myapp/Tpl/default/Index/index.html
//2 调用Index模块的test1操作模板
$this->display('test1');
//对应Myapp/Tpl/default/Index/test1.html
//2 调用Message模块的test2操作模板()
$this->display('Message:test2');
//对应Myapp/Tpl/default/Message/test2.html
//3 调用XP主题的Message模块的test2操作模板
$this->display('Xp@Message:test2');
//对应Myapp/Tpl/Xp/Message/test2.html
//4 直接指定模板文件的全名
$this->display('../Message/test3.html');
//对应Myapp/Tpl/default/Message/test3.html

使用判斷語句

我們可以使用if標籤來定義複雜的條件判斷,例如:

複製程式碼 程式碼如下:

<if condition="($name eq 1) OR ($name gt 100) "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>

在condition屬性中可以支援eq等判斷表達式,同上面的比較標籤,但是不支援帶有”> 」、”d3b6fe175377a2305515fca879c6928a)
egt 大於等於(>=)
lt 小於(< )
elt 小於等於(<=)
heq 恆等於(===)
nheq 不恆等於(!==)
condition 條件
注意
condition 屬性值中,變數是需要$ 符號的,這與其他標籤不同。

使用自訂函數的方法

模板變數的函數呼叫格式:{$varname|function1|function2=arg1,arg2,

}

##使用範例:

複製程式碼 程式碼如下:

{$webTitle|md5|strtoupper|substr=0,3} 
{$number|number_format=2} 
{$varname|function1|function2=arg1,arg2,### }

實例如下:

複製程式碼 程式碼如下:

function Cate($cid){ 
$Cate=D(&#39;Cate&#39;); 
$Cate=$Cate->where(&#39;id=&#39;.$cid)->find(); 
return $Cate[&#39;title&#39;]; 
}

我想在模板中調用這個函數則在模板中可以這樣寫

#複製代碼 代碼如下:

{$vo.cid|cate=###}

注意:自定義函數要放在專案應用程式目錄/common/common.php中。這裡是關鍵。

說明:
{ 和$ 符號之間不能有空格,後面參數的空格就沒有問題;

表示模板變數本身的參數位置;
支援多個函數,函數之間支援空格;
支援函數屏蔽功能,在設定檔中可以配置禁止使用的函數列表;

支援變數快取功能,重複變數字串不多次解析。

相關建議:

ThinkPHP範本替換與系統常數及應用實例

#####################################################

以上是ThinkPHP模板之變數輸出、自訂函數與判斷語句用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn