RT.
ThinkPHP中主要變量類型:
1.從PHP分配的變量,使用assign分配
2.系統變量
3.路徑替換變量
ThinkPHP通過D方法或者M方法能夠在控制器中創建對應數據表的數據對象,從而對其進行數據操作。
數據操作完成之後,可以通過this->assign()方法將處理後的數據賦予一個變量,將其傳給表現層,供表現層使用。
this-assign()方法,可以將一個變量,一個數組,一個對象的數據綁定到一個變量上,傳遞到表現層中去。在表現層中,我們通過以下幾種方法進行數據調用,
//1.取出變量值
//控制器 this->assign('name',valule);
//表現層
{$name}
//2.取出數組值
//$data = array('name1'=>value1, 'name2'=>value2);
//控制器 this->assign('nameList',$data);
//表現層
//取出name1值
{$nameList['name1']}
//取出name2值
{$nameLIst['name2']}
//3.取出對象值
//控制器
//$user = M('User');
//this->assign('uobj',$user);
//表現層
//取出name值,兩種方法,習慣點是用來訪問數組
//冒號
{$uobj:username}
//點
{$uobj.username}
取數據的時候還可以同時對取出來的數值進行函數操作,例如:
//4.格式調節或功能操作
//將變量變爲大寫
{$uobj.username | strtoupper}
當然,不是所有的變量都允許使用函數。例如前面列出的變量中的第二種系統變量和第三種路徑替換變量,都不允許使用函數。還有下面的非$開頭的標籤,都不允許使用。
//多個函數同時使用,直接用“|”分割
//函數多個變量傳入
//###表示模板變量 本身的位置
{$mytime | date = 'Y-m-d', ###}
變量輸出快捷標籤:
//取出Session變量
{@var} || {$Think.session.var}
//取出Cookie變量
{#var} || {$Think.cookie.var}
//輸出配置參數
{&var} || {$Think.config.var}
//輸出語言變量
{%var} || {$Think.lang.var}
//輸出GET變量
{.var} || {$Think.get.var}
//輸出POST變量
{^var} || {$Think.post.var}
//輸出常量
{×var} ||{$Think.const.var}
//輸出$_SESSION['var1']['var2']
{@var1.var2}
//輸出$_COOKIE['var1']['var2']
{#var1.var2}
ThinkPHP系統常量:
//當前網站的公開目錄
__PUBLIC__
//當前網站的地址(不含域名)
__ROOT__
//當前項目的URL地址(不含域名)
__APP__
//當前模塊的URL地址(不含域名)
__URL__
//當前頁面的的URL
__SELF__