首頁 >後端開發 >php教程 >ThinkPHP範本輸出display

ThinkPHP範本輸出display

不言
不言原創
2018-06-08 11:32:002329瀏覽

這篇文章主要介紹了ThinkPHP範本輸出display用法,以實例形式詳細分析了ThinkPHP使用display調用各類模板輸出的用法,是非常常見的實用技巧,需要的朋友可以參考下

#本文實例分析了ThinkPHP範本輸出display用法。分享給大家供大家參考。具體分析如下:

模板變數賦值後就需要呼叫模板檔案來輸出相關的變數,模板呼叫透過display方法來實現,我們在操作方法的最後使用:

$this->display();

就可以輸出模板,根據前面的模板定義規則,因為系統會按照默認規則自動定位模板文件,所以通常display方法無需帶任何參數即可輸出對應的模板,這是模板輸出的最簡單的用法。

事情總有特例,或者根本不需要按模組進行分目錄存放,不過display方法總是能夠幫你解決問題。

Display方法提供了幾個規則讓你可以隨心所欲的輸出需要的範本,無論你的範本檔案在什麼位置。

下面來看具體的用法:

一、呼叫目前模組的其他操作範本

格式:display('操作名稱')

#例如,假設目前操作是User模組下面的read操作,我們需要呼叫User模組的edit操作模版,使用:

$this->display('edit');

不需要寫範本文件的路徑和後綴。

二、呼叫其他模組的操作範本

格式:display('模組名稱:操作名稱')

例如,目前是User模組,我們需要呼叫Member模組的read操作模版,使用:

$this->display('Member:read');

這種方式也不需要寫模板檔案的路徑和後綴,嚴格來說,這裡面的模組名和操作名不一定需要有對應的模組或操作,只是一個目錄名稱和檔案名稱而已,例如,你的專案裡面可能根本沒有Public模組,更沒有Public模組的menu操作,但是一樣可以使用

$this->display('Public:menu');

輸出這個模板檔案,理解了這個,模板輸出就清晰了.

三、調用其他主題的操作模板

格式:display('主題名:模組名:操作名')

例如我們需要調用Xp主題的User模組的edit操作模版,使用:

$this->display('Xp:User:edit');

這種方式需要指定模組與操作名稱

四、直接全路徑輸出範本

格式:display ('模板檔名')

例如,我們直接輸出當前的Public目錄下面的menu.html模板文件,使用: 

$this->display('./Public/menu.html');

這種方式需要指定模板路徑和後綴,這裡的Public目錄是位於當前項目入口文件位置下面,如果是其他的後綴文件,也支持直接輸出,例如:

$this->display('./Public/menu.tpl');

只要./Public/menu.tpl是一個實際存在的模板文件,如果使用的是相對路徑的話,要注意當前位置是相對於專案的入口檔案,而不是範本目錄.

#事實上,display方法還有其他的參數和用法。

有時候某個範本頁面我們需要輸出指定的編碼,而不是預設的編碼,可以使用:

$this->display('Member:read', 'gbk');

或輸出的範本檔案不是text/html格式的,而是XML格式的,可以用:

$this->display('Member:read', 'utf-8', 'text/xml');

如果你的網站輸出編碼不是預設的編碼,可以使用:

'DEFAULT_CHARSET'=> 'gbk'

如果要輸出XML格式的,可​​以用:

'TMPL_CONTENT_TYPE'=> 'text/xml'

如果不需要渲染模板檔案而是直接輸出內容,可以使用show方法,例如:

$this->show($content, 'utf-8', 'text/xml');

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關建議:

Thinkphp5.0自動產生模組以及目錄的方法

ThinkPHP模板範圍判斷輸出In標籤與Range標籤用法

以上是ThinkPHP範本輸出display的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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