ThinkPHP3 1快速入門(9)變數輸出

2022-04-06 15:32:50 字數 2306 閱讀 6875

這一篇我們來詳細了解下如何在模板中使用標籤輸出模板變數。

變數輸出的方法很簡單,例如,在控制器中我們給模板變數賦值: $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位址,那...