這篇文章主要介紹了關於ThinkPHP 模板引擎使用詳解,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
thinkphp系統支援原生的PHP模板,而且本身內建了一個基於XML的高效能的編譯型模板引擎,系統預設使用的模板引擎是內建模板引擎,關於這個模板引擎的標籤詳細使用可以參考模版引擎部分。
ThinkPHP 內建的模板引擎來定義模板文件,以及使用載入文件、模板佈局和模板繼承等高級功能。
每個模板文件在執行過程中都會產生一個編譯後的快取文件,其實就是一個可以運行的 PHP 文件。
PHP
/*index/controller/example.php*/ use think\Controller; class test extends Index { public function template (){ $name = 'Jerry'; $allName = [ 0 => "Jerry", 1 => "Tom" ]; $this->assign('nameA',$name); $this->assign('allName',$allName); return $this->fetch('example'); } }
HTML
/*index/view/example.html*/ <span>{$nameA}</span> {volist name="allName" id="vo"} <p data-sub="{$key}" data-index="{$i}">{$vo}</p> {/volist} Result <br /><span>Jerry</span> <p data-sub="0" data-index="1">Jerry</p> <p data-sub="1" data-index="2">Tom</p>
這樣 ThinkPHP 便完成了對頁面的解析工作,其中涉及到 模板實例化、定位、賦值、渲染及標籤的使用。
視圖實例化
暫無
模板賦值
顯然在模板中直接使用$name 是找不到該變數的。必須使用 assign 方法對模板賦值。在執行渲染輸出函數前, assign 方法使 函數內部變數與範本變數建立起映射關係。
$this->assign('name',$name); $this->assign('allName',$allName);
透過賦值之後,便可以在範本檔案中使用 {$nameA} 來輸出該變數了。
模板渲染
當資料已經準備好渲染到頁面上,還需要指定html 檔案作為渲染模板,為目前函數執行fetch 方法時候傳入example 參數。
return $this->fetch('example');
範本標籤
在範本檔案中使用內建標籤可以幫助我們在範本中循環、判斷變數。它以一對花括號 {tag} {/tag} 作為開標籤和閉標籤。 { 與 } 之間必須緊跟著標籤屬性或值,存在 空格 和 換行 都不能在渲染時被解析。
volist 標籤就是內建標籤中的其中一個,通常用來循環某個陣列變數。
{volist name="allName" id="vo"} <p data-sub="{$key}" data-index="{$i}">{$vo}</p> {/volist}
allName 是透過模板賦值的變數 ,現在可以在模板上直接使用了,顯然它是一個數組, volist 標籤對它做了循環操作。
volist 標籤常用的一些屬性:
prop | name | ##id|
---|---|---|
陣列名稱 | 目前元素 | |
allName | vo |
內建標籤
與volist 一樣好用的內建標籤還有很多:<notempty name=""></notempty> //判断数据是否不为空 不为空则执行
##
以上是ThinkPHP 模板引擎使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!