ThinkPHP3.1新特性之內(nèi)容解析輸出詳解
以往版本的ThinkPHP中頁面輸出的過程是讀取模板文件,然后進(jìn)行模板解析(也支持調(diào)用第三方模板引擎解析),但是有一些情況,我們并沒有定義模板文件,或者把模板文件保存在數(shù)據(jù)庫里面,那么這種情況下進(jìn)行頁面輸出的時(shí)候,我們是無法進(jìn)行模板文件讀取的,ThinkPHP3.1版本則針對(duì)這樣的情況增加了內(nèi)容解析輸出的功能。
內(nèi)置的模板引擎也進(jìn)行了完善,如果傳入的模板文件不存在的話,則會(huì)認(rèn)為是傳入的模板解析內(nèi)容,因此,ThinkPHP3.1版的View類和Action類也做了一些相應(yīng)的改進(jìn)。
display方法用于模板文件渲染輸出,show方法則用于模板內(nèi)容渲染輸出,并且show方法仍然支持內(nèi)容解析功能,因此,我們可以在控制器中這樣使用:
$this->assign('name','ThinkPHP'); $this->show('hello,{$name}!');
頁面輸出的結(jié)果是:
hello,ThinkPHP!
你也可以采用讀取數(shù)據(jù)庫的方式:
$content = M('Data')->where($map)->getField('content'); $this->show($content);
對(duì)于$content變量中的內(nèi)容,可以和模板文件一樣支持變量和標(biāo)簽庫的解析,并且也可以支持模板布局功能。
show方法也可以指定輸出編碼和類型,例如:
$this->show($content,'utf-8','text/xml');
總之,有了show方法后,可以把模板放數(shù)據(jù)庫中,對(duì)于模板的管理和更新也更加方便了。
相關(guān)文章
PHP執(zhí)行shell腳本運(yùn)行程序不產(chǎn)生core文件的方法
下面小編就為大家?guī)硪黄狿HP執(zhí)行shell腳本運(yùn)行程序不產(chǎn)生core文件的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12thinkphp制作404跳轉(zhuǎn)頁的簡單實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猼hinkphp制作404跳轉(zhuǎn)頁的簡單實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09laravel 實(shí)現(xiàn)關(guān)閉CSRF(全部關(guān)閉、部分關(guān)閉)
今天小編就為大家分享一篇laravel 實(shí)現(xiàn)關(guān)閉CSRF(全部關(guān)閉、部分關(guān)閉),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10關(guān)于php中的json_encode()和json_decode()函數(shù)的一些說明
下面小編就為大家?guī)硪黄P(guān)于php中的json_encode()和json_decode()函數(shù)的一些說明。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11php實(shí)現(xiàn) master-worker 守護(hù)多進(jìn)程模式的實(shí)例代碼
這篇文章主要介紹了php實(shí)現(xiàn) master-worker 守護(hù)多進(jìn)程模式的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07Zend Framework框架的數(shù)據(jù)庫追蹤器使用示例
這篇文章主要介紹了Zend Framework框架的數(shù)據(jù)庫追蹤器使用示例,現(xiàn)把追蹤器的使用方法分享給大家,需要的朋友可以參考下2014-03-03