首頁  >  文章  >  後端開發  >  ThinkPHP模板變數輸出呼叫方法有哪些?

ThinkPHP模板變數輸出呼叫方法有哪些?

WBOY
WBOY原創
2016-07-25 08:53:081429瀏覽
  1. {$變數名稱}範例:{$username} //普通變數{$userinfo["email"]} //陣列方式{$userinfo["sub" ]["name"]} //三維數組方式{$userinfo:email} //物件方式{$userinfo.email}...
複製程式碼

普通輸出 輸出模板中的變量,格式如下: {$變數名稱}

例:

  1. {$username} //普通變數
  2. {$userinfo["email"]} //陣列方式
  3. {$userinfo[" sub"]["name"]}//三維數組方式
  4. {$userinfo:email} //物件方式
  5. {$userinfo.email} //自動判斷陣列或物件方式
複製程式碼

預設輸出 如果輸出的模板變數沒有值,但是我們需要在顯示時賦予一個預設值的話,可以使用 default 語法來預設顯示一個值。

格式: {$變數|default="預設值"} 例子:

  1. {$username|default="匿名"}
複製代碼

使用函數 對模板變數使用函數 模板引擎支援對輸出的變數做格式化處理,也就是使用函數,並且支援多個函數。

格式: {$變數|函數1|...|函數n=參數1,...,參數n,### } 函數從左到右對變數執行,先執行函數1,得到結果後作為參數再執行函數2,依次類推,並且預設執行的結果是作為下一個函數第一個參數。

例:

  1. {$webTitle|md5|strtoupper|substr=0,3}
複製代碼

實際執行結果等效為: 如果變數或上函數執行的結果不是函數或下一個函數的第一個參數,那麼需要使用定位符「###」: {$userinfo["regdate"]|date="Y-m-d H:i",###} 實際執行結果等效為:

  1. echo date("y-m-d H:i",$userinfo["regdate"]|);
  2. ?>
複製程式碼

提示 對變數使用函數沒有數量限制,但預設為停用了 exit 和 echo 函數,以防止破壞模板輸出。關於停用的函數具體配置可參考《ThinkPHP 系統配置》。

模板直接使用函數 模板檔案中也支援直接呼叫函數的快捷方法,無需通過模板變量,包括兩種方式:

1、執行函數並輸出回傳值

格式: {:函數} 例子:

  1. {:say_hello('ThinkPHP')} //say_hello()為使用者自訂函數
  2. 實際執行結果等價為:
  3. echo say_hello('ThinkPHP');
  4. ?>
複製程式碼

2、執行函數但不輸出 格式: {~函數} 例子:

  1. {~say_hello('ThinkPHP')} //say_hello()為使用者自訂函數
  2. 實際執行結果等價為:
  3. say_hello('ThinkPHP');
  4. ?>
複製程式碼

以上兩種方法,也支援傳入模板變數作為函數的參數。

系統變數輸出 系統變數包括:server、session、post、get、request、cookie、env。系統變數的輸出不需要事先賦值給某個模板變數。系統變數的輸出以 $Think. 開頭,並且仍然支援使用函數。

例:

  1. {$Think.session.session_id|md5} //輸出$_SESSION 變數並使用md5 加密
  2. //或簡寫為
  3. { $_SESSION. session_id|md5}
  4. //輸出$_GET變量
  5. {$_GET.pageNumber}
複製代碼

系統常量輸出 使用$Think.const輸出系統常數。

例:

  1. {$Think.const.ACTION_NAME} //輸出ThinkPHP 系統定義的常數ACTION_NAME(目前操作名稱)
  2. //或簡稱為
  3. {$Think.ACTION_NAME}
複製程式碼

設定參數輸出 使用 $Think.config 輸出專案的設定參數值。

例:

  1. {$Think.config.DB_PREFIX}
複製代碼

輸出的值和 C('DB_PREFIX') 的回傳結果是一樣的。

快速輸出 為了使得範本定義更加簡潔,系統也支援一些常用的變數輸出快速標籤,包括:

  1. {@var} 與{$Think.session.var} 等效,輸出Session 變數
  2. {#var} 與{$Think.cookie .var} 等效,輸出Cookie 變數
  3. {&var} 與{$Think.config.var} 等效,輸出配置參數
  4. {%var} 與{$Think.lang.var} 等效,輸出語言變數
  5. {.var} 與{$Think.get.var} 等效,輸出GET 變數
  6. {^var} 與{$Think.post.var} 等效,輸出POST 變數
  7. { *var} 與{$Think.const.var} 等效,輸出常數
複製程式碼

提示 快捷輸出不支援函數的使用 為了模板的可讀性較強,不建議使用快速輸出方式



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