ThinkPHP3 1新特性 內容解析輸出

2022-04-06 15:33:11 字數 738 閱讀 1815

thinkphp中頁面輸出的過程是讀取模板檔案,然後進行模板解析(也支援呼叫第三方模板引擎解析),但是有一些情況,我們並沒有定義模板檔案,或者把模板檔案儲存在資料庫裡面,那麼這個時候進行頁面輸出的時候,我們是無法進行模板檔案讀取的,3.1版本則針對這樣的情況增加了內容解析輸出的功能。

內建的模板引擎也進行了完善,如果傳入的模板檔案不存在的話,則會認為是傳入的模板解析內容,因此,3.1的view類和action類也做了一些改進。

display方法用於模板檔案渲染輸出,show方法則用於模板內容渲染輸出,並且show方法仍然支援內容解析功能,因此,我們可以在控制器中這樣使用: $this->assign('name','thinkphp'); $this->show('hello,!');

複製**

頁面輸出的結果是: hello,thinkphp!

複製**

你也可以採用讀取資料庫的方式: $content=m('data')->where($map)->getfield('content'); $this->show($content);

複製**

對於$content變數中的內容,可以和模板檔案一樣支援變數和標籤庫的解析,並且也可以支援模板布局功能。

show方法也可以指定輸出編碼和型別,例如: $this->show($content,'utf-8','text/xml');

複製**

總之,有了show方法後,可以把模板放資料庫中,對於模板的管理和更新也更加方便了。

ThinkPHP3 1新特性 Action引數繫結

action引數繫結功能提供了url變數和操作方法的引數繫結支援,這一功能可以使得你的操作方法定義和引數獲取更加清晰,也便於跨模組呼叫操作方法了。這一新特性對以往的操作方法使用沒有任何影響,你也可以用新的方式來改造以往的操作方法定義。action引數繫結的原理是把url中的引數 不包括分組 模組和操...

ThinkPHP3 1新特性 多層MVC支援

thinkphp基於mvc model view controller,模型 檢視 控制器 模式,不過均支援多層 multi layer 設計。模型 model 層 預設的模型層由model類構成,但是隨著專案的增大和業務體系的複雜化,單一的模型層很難解決要求,從3.1開始推出了多層model的支援...

ThinkPHP3 1新特性 頁面壓縮輸出支援

現在大多數瀏覽器都已經支援頁面的壓縮輸出,通過壓縮輸出,頁面大小可以減少30 由於3.0版本沒有內建頁面壓縮輸出功能,所以一般來說,需要自己在入口檔案中新增 ob start ob gzhandler 但是由於伺服器環境的不同,有時候這個配置會和php.ini檔案中的zlib壓縮配置衝突。3.1新版...