本章的内容主要讲述了如何使用内置的模板引擎来定义模板文件,以及使用加载文件、模板布局和模板继承等高级功能。
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插件开发
- 开始开发