|
以往版本的Thinkphp中頁面輸出的過程是讀取模板文件,然后進行模板解析(也支持調用第三方模板引擎解析),但是有一些情況,我們并沒有定義模板文件,或者把模板文件保存在數據庫里面,那么這種情況下進行頁面輸出的時候,我們是無法進行模板文件讀取的,Thinkphp3.1版本則針對這樣的情況增加了內容解析輸出的功能。
內置的模板引擎也進行了完善,如果傳入的模板文件不存在的話,則會認為是傳入的模板解析內容,因此,Thinkphp3.1版的View類和Action類也做了一些相應的改進。
display方法用于模板文件渲染輸出,show方法則用于模板內容渲染輸出,并且show方法仍然支持內容解析功能,因此,我們可以在控制器中這樣使用:
$this->assign('name','Thinkphp');$this->show('hello,{$name}!');
頁面輸出的結果是:
hello,Thinkphp!
你也可以采用讀取數據庫的方式:
$content = M('Data')->where($map)->getField('content');$this->show($content);
對于$content變量中的內容,可以和模板文件一樣支持變量和標簽庫的解析,并且也可以支持模板布局功能。
show方法也可以指定輸出編碼和類型,例如:
$this->show($content,'utf-8','text/xml');
總之,有了show方法后,可以把模板放數據庫中,對于模板的管理和更新也更加方便了。
php技術:ThinkPHP3.1新特性之內容解析輸出詳解,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。