ThinkPHP官网首页

ENGLISH

Manual

7 模板指南

模板指南 子目录列表
7.1  变量输出
7.2  使用函数
7.3  系统变量
7.4  快捷输出
7.5  默认值输出
7.6  包含文件
7.7  导入文件
7.8  Volist标签
7.9  Foreach标签
7.10  Switch标签
7.11  比较标签
7.12  Range标签
7.13  Present标签
7.14  Empty标签
7.15  Defined标签
7.16  IF标签
7.17  标签嵌套
7.18  使用PHP代码
7.19  原样输出
7.20  模板注释
7.21  引入标签库
7.22  修改定界符

ThinkPHP内置了一个基于XML的性能卓越的模板引擎 ThinkTemplate,这是一个专门为ThinkPHP服务的内置模板引擎。ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。其特点包括:

 支持XML标签库和普通标签的混合定义;

 支持直接使用PHP代码书写;

 支持文件包含和布局模板;

 支持多级标签嵌套;

 一次编译多次运行,编译和运行效率非常高;

 模板文件更新,自动更新模板缓存;

 系统变量无需赋值直接输出;

 支持多维数组的快速输出;

 支持模板变量的默认值;

 支持页面代码去除Html空白;

 支持变量组合调节器和格式化功能;

 允许定义模板禁用函数;

 通过标签库方式扩展。

每个模板文件在执行过程中都会生成一个编译后的缓存文件,其实就是一个可以运行的PHP文件。模板缓存默认位于项目的Runtime/Cache目录下面,以模板文件的md5编码作为缓存文件名保存的,如果开启页面Trace功能的话,可以在Trace信息里面看到当前页面对应的模板缓存文件名。如果在模板标签的使用过程中发现问题,可以尝试通过查看模板缓存文件找到问题所在。

内置的模板引擎支持普通标签和XML标签方式两种标签定义,分别用于不同的目的:普通标签主要用于输出变量和做一些基本的操作;XML标签除了包含了普通标签的所有功能外,还可以完成一些逻辑判断、控制和循环输出,但是在变量输出上,普通标签具有简洁明了的优势。

例如:{$name} 看起来比 <var name=”name” /> 更加容易使用,但是在控制和判断方面,XML标签却有着普通标签无法替代的作用。

这种方式的结合保证了模板引擎的简洁和强大的有效融合。