本章的內容主要講述了如何使用內置的模板引擎來定義模板文件,以及使用加載文件、模板布局和模板繼承等高級功能。
ThinkPHP內置了一個基于XML的性能卓越的模板引擎 ThinkTemplate,這是一個專門為ThinkPHP服務的內置模板引擎。ThinkTemplate是一個使用了XML標簽庫技術的編譯型模板引擎,支持兩種類型的模板標簽,使用了動態編譯和緩存技術,而且支持自定義標簽庫。其特點包括:
支持XML標簽庫和普通標簽的混合定義; 支持直接使用PHP代碼書寫;
支持文件包含;
支持多級標簽嵌套; 支持布局模板功能;
一次編譯多次運行,編譯和運行效率非常高; 模板文件和布局模板更新,自動更新模板緩存; 系統變量無需賦值直接輸出;
支持多維數組的快速輸出; 支持模板變量的默認值;
支持頁面代碼去除Html空白;
支持變量組合調節器和格式化功能;
允許定義模板禁用函數和禁用PHP語法; 通過標簽庫方式擴展。
每個模板文件在執行過程中都會生成一個編譯后的緩存文件,其實就是一個可以運行的PHP文件。模板緩存默認位于項目的Runtime/模塊/Cache目錄下面,以模板文件的md5編碼作為緩存文件名保存的。如果在模板標簽的使用過程中發現問題,可以嘗試通過查看模板緩存文件找到問題所在。
內置的模板引擎支持普通標簽和XML標簽方式兩種標簽定義,分別用于不同的目的:
標簽類型
描述
普通標簽
主要用于輸出變量和做一些基本的操作
XML標簽
主要完成一些邏輯判斷、控制和循環輸出,并且可擴展
這種方式的結合保證了模板引擎的簡潔和強大的有效融合。
<div class="view-foot">
<div class="article-jump">
<span style="display: block;" class="jump-up">上一篇:<a href="/manual/thinkphp
/1792" data-articleid="1792">模板引擎</a></span>
<span class="jump-down">下一篇:<a href="/manual/thinkphp/1794" data-articlei
d="1794">變量輸出</a></span>
</div>
<a class="view-backtop"><i class="icon-arrow-up2"></i></a>
</div>
</div>
<div class="view-foot">
<div class="article-jump">
<span style="display: block;" class="jump-up">上一篇:<a href="/manual/thinkphp
/1792" data-articleid="1792">模板引擎</a></span>
<span class="jump-down">下一篇:<a href="/manual/thinkphp/1794" data-articlei
d="1794">變量輸出</a></span>
</div>
<a class="view-backtop"><i class="icon-arrow-up2"></i></a>
</div>
</div>
- ThinkPHP模板
- 變量輸出
- 系統變量
- 系統變量輸出
- 常量輸出
- 配置輸出
- 語言變量
- 使用函數
- 默認值輸出
- 使用運算符
- 標簽庫
- 導入標簽庫
- 內置標簽
- 標簽庫預加載
- 模板繼承
- 修改定界符
- 普通標簽
- XML標簽
- 三元運算符
- 包含文件
- 使用模版表達式
- 使用模版文件
- 傳入參數
- 內置標簽
- Volist標簽
- Foreach標簽
- For標簽
- Switch標簽
- 比較標簽
- 范圍判斷標簽
- IN和NOTIN
- BETWEEN 和 NOTBETWEEN
- RANGE
- IF標簽
- Present標簽
- Empty標簽
- Defined標簽
- Assign標簽
- Define標簽
- 標簽嵌套
- import標簽
- 使用PHP代碼
- 使用php標簽
- 使用原生php代碼
- 原樣輸出
- 模板注釋
- 單行注釋
- 多行注釋
- 模板布局
- 第一種方式:全局配置方式
- 第二種方式:模板標簽方式
- 第三種方式:使用layout控制模板布局
- 模板替換
- 調用導航
- 調用欄目信息
- 根據欄目Id獲取欄目信息
- 首頁&封面調用信息列表
- 調用新聞列表
- 當前位置
- 當前位置
- 列表頁分頁
- 熱門信息
- 獲取熱門信息
- 上一篇&下一篇
- YNCMS函數
- YNCMS插件開發
- 開始開發