這一篇我們來詳細了解下如何在模板中使用標籤輸出模板變數。
變數輸出的方法很簡單,例如,在控制器中我們給模板變數賦值: $name='thinkphp'; $this->assign('name',$name); $this->display();
複製**
然後就可以在模板中使用: hello,!
複製**
模板編譯後的結果就是: hello,!
複製**
這樣,執行的時候就會在模板中顯示: hello,thinkphp!
複製**
[-more-]
注意模板標籤的!
複製**
將不會正常輸出name變數,而是直接保持不變輸出: hello,!
複製**
普通標籤預設開始標記是 。也可以通過設定tmpl_l_delim和tmpl_r_delim進行更改。例如,我們在專案配置檔案中定義: 'tmpl_l_delim'=>''}>',
複製**
那麼,上面的變數輸出標籤就應該改成: hello,!
複製**
後面的內容我們都以預設的標籤定義來說明。
模板標籤的變數輸出根據變數型別有所區別,剛才我們輸出的是字串變數,如果是陣列變數, $data['name']='thinkphp'; $data['email']='[email protected]'; $this->assign('data',$data);
複製**
那麼,在模板中我們可以用下面的方式輸出: name: email:
複製**
或者用下面的方式也是有效: name: email:
複製**
當我們要輸出多維陣列的時候,往往要採用後面一種方式。
如果data變數是乙個物件(並且包含有name和email兩個屬性),那麼可以用下面的方式輸出: name: email:
複製**
或者 name: email:
複製**
普通的模板變數需要首先賦值後才能在模板中輸出,但是系統變數則不需要,可以直接在模板中輸出,系統變數的輸出通常以//輸出$_server['script_name']變數 //輸出$_session['user_id']變數 //輸出$_get['pagenumber']變數 //輸出$_cookie['name']變數
複製**
支援輸出$_server、$_env、 $_post、 $_get、 $_request、$_session和 $_cookie變數。
還可以輸出常量
複製**
或者直接使用
複製**
輸出配置引數使用:
複製**
輸出語言變數可以使用:
複製**
我們往往需要對模板輸出變數使用函式,可以使用:
複製**
編譯後的結果是:
複製**
如果函式有多個引數需要呼叫,則使用:
複製**
表示date函式傳入兩個引數,每個引數用逗號分割,這裡第乙個引數是y-m-d,第二個引數是前面要輸出的create_time變數,因為該變數是第二個引數,因此需要用###標識變數位置,編譯後的結果是:
複製**
如果前面輸出的變數在後面定義的函式的第乙個引數,則可以直接使用:
複製**
表示輸出
複製**
雖然也可以使用:
複製**
但完全沒用這個必要。
還可以支援多個函式過濾,多個函式之間用「|」分割即可,例如:
複製**
編譯後的結果是:
複製**
函式會按照從左到右的順序依次呼叫。
如果你覺得這樣寫起來比較麻煩,也可以直接這樣寫:
複製**
我們可以給變數輸出提供預設值,例如:
複製**
對系統變數依然可以支援預設值輸出,例如:
複製**
預設值和函式可以同時使用,例如:
複製**
我們可以對模板輸出使用運算子,包括對「+」「 –」 「*」 「/」和「%」的支援。
例如:
運算子使用示例
+
-
*
/
%
++ 或
-- 或
綜合運算
在使用運算子的時候,不再支援點語法和常規的函式用法,例如: //錯誤的 //正確的 //正確的 //錯誤的 //正確的
複製**
通過本篇的學習,我們掌握了如何在模板檔案中輸出變數和使用函式、預設值和運算子,下一篇我們將會了解如何進行模板變數的迴圈、判斷等控制輸出,以及匯入其他公共模板。
ThinkPHP3 1快速入門(10)快取
在專案中,合理的使用快取對效能有較大的幫助。thinkphp提供了方便的快取方式,包括資料快取 靜態快取和查詢快取等,支援包括檔案方式 apc db memcache shmop sqlite redis eaccelerator和xcache在內的動態資料快取型別,以及可定製的靜態快取規則,並提供...
ThinkPHP3 1快速入門(15)模板布局
thinkphp的模板引擎內建了布局模板功能支援,可以方便的實現模板布局以及布局巢狀功能。有三種布局模板的支援方式 這種方式僅需在專案配置檔案中新增相關的布局模板配置,就可以簡單實現模板布局功能,比較適用於全站使用相同布局的情況,需要配置開啟layout on 引數 預設不開啟 並且設定布局入口檔名...
ThinkPHP3 1快速入門(21)IP位址定位
可以在官網的 ip定位擴充套件類庫,或者 擴充套件包 裡面也已經包含該擴充套件類了。如果是單獨 的上傳類庫,把解壓後的iplocation.class.php 放入thinkphp extend library org net 如果沒有請手動建立 目錄下面。如果你僅僅需要獲取使用者訪問的ip位址,那...