|
以往版本的Thinkphp中頁(yè)面輸出的過(guò)程是讀取模板文件,然后進(jìn)行模板解析(也支持調(diào)用第三方模板引擎解析),但是有一些情況,我們并沒(méi)有定義模板文件,或者把模板文件保存在數(shù)據(jù)庫(kù)里面,那么這種情況下進(jìn)行頁(yè)面輸出的時(shí)候,我們是無(wú)法進(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}!');
頁(yè)面輸出的結(jié)果是:
hello,Thinkphp!
你也可以采用讀取數(shù)據(jù)庫(kù)的方式:
$content = M('Data')->where($map)->getField('content');$this->show($content);
對(duì)于$content變量中的內(nèi)容,可以和模板文件一樣支持變量和標(biāo)簽庫(kù)的解析,并且也可以支持模板布局功能。
show方法也可以指定輸出編碼和類型,例如:
$this->show($content,'utf-8','text/xml');
總之,有了show方法后,可以把模板放數(shù)據(jù)庫(kù)中,對(duì)于模板的管理和更新也更加方便了。
php技術(shù):ThinkPHP3.1新特性之內(nèi)容解析輸出詳解,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。