輸出模板中的變量,格式以下: php
{$變量名稱}
例子: web
{$username} //普通變量 {$userinfo["email"]} //數組方式 {$userinfo["sub"]["name"]} //三維數組方式 {$userinfo:email} //對象方式 {$userinfo.email} //自動判斷數組或對象方式
若是輸出的模板變量沒有值,可是咱們須要在顯示的時候賦予一個默認值的話,能夠使用 default 語法來默認顯示一個值。 數組
格式: cookie
{$變量|default="默認值"}
例子: session
{$username|default="匿名"}
模板引擎支持對輸出的變量作格式化處理,也就是使用函數,而且支持多個函數。 函數
格式: post
{$變量|函數1|...|函數n=參數1,...,參數n,### }
函數從左往右對變量執行,先執行函數1,獲得結果後做爲參數再執行函數2,依次類推,而且默認狀況下執行的結果是做爲下一個函數第一個參數。 加密
例子: code
{$webTitle|md5|strtoupper|substr=0,3}
實際執行結果等效爲: server
<?php echo substr(strtoupper(md5($webTitle)),0,3); ?>
若是變量或上函數執行的結果不是函數或下一個函數的第一個參數,那麼須要使用定位符「###」:
{$userinfo["regdate"]|date="Y-m-d H:i",###}
實際執行結果等效爲:
<?php echo date("y-m-d H:i",$userinfo["regdate"]|); ?>
對變量使用函數沒有數量限制,但默認禁用了 exit 和 echo 函數,以防止破壞模板輸出。關於禁用的函數具體配置可參見《ThinkPHP 系統配置》。
模板文件中還支持直接調用函數的快捷方法,無需經過模板變量,包括兩種方式:
一、執行函數並輸出返回值
格式:
{:函數}
例子:
{:say_hello('ThinkPHP')} //say_hello()爲用戶自定義函數
實際執行結果等效爲:
<?php echo say_hello('ThinkPHP'); ?>
二、執行函數但不輸出
格式:
{~函數}
例子:
{~say_hello('ThinkPHP')} //say_hello()爲用戶自定義函數
實際執行結果等效爲:
<?php say_hello('ThinkPHP'); ?>
以上兩種方法,也支持傳入模板變量做爲函數的參數。
系統變量包括:server、session、post、get、request、cookie、env。系統變量的輸出不須要事先賦值給某個模板變量。系統變量的輸出以 $Think. 開頭,而且仍然支持使用函數。
例子:
{$Think.session.session_id|md5} //輸出 $_SESSION 變量並使用 md5 加密 //或簡寫爲 {$_SESSION. session_id|md5} //輸出$_GET變量 {$_GET.pageNumber}
使用$Think.const輸出系統常量。
例子:
{$Think.const.ACTION_NAME} //輸出 ThinkPHP 系統定義的常量 ACTION_NAME(當前操做名稱) //或簡寫爲 {$Think.ACTION_NAME}
使用 $Think.config 輸出項目的配置參數值。
例子:
{$Think.config.DB_PREFIX}
輸出的值和 C('DB_PREFIX') 的返回結果是同樣的。
爲了使得模板定義更加簡潔,系統還支持一些經常使用的變量輸出快捷標籤,包括: