Manual
7 模板指南
ThinkPHP内置了一个基于XML的性能卓越的模板引擎 ThinkTemplate,这是一个专门为ThinkPHP服务的内置模板引擎。ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。其特点包括:
支持XML标签库和普通标签的混合定义;
支持直接使用PHP代码书写;
支持文件包含和布局模板;
支持多级标签嵌套;
一次编译多次运行,编译和运行效率非常高;
模板文件更新,自动更新模板缓存;
系统变量无需赋值直接输出;
支持多维数组的快速输出;
支持模板变量的默认值;
支持页面代码去除Html空白;
支持变量组合调节器和格式化功能;
允许定义模板禁用函数;
通过标签库方式扩展。
每个模板文件在执行过程中都会生成一个编译后的缓存文件,其实就是一个可以运行的PHP文件。模板缓存默认位于项目的Runtime/Cache目录下面,以模板文件的md5编码作为缓存文件名保存的,如果开启页面Trace功能的话,可以在Trace信息里面看到当前页面对应的模板缓存文件名。如果在模板标签的使用过程中发现问题,可以尝试通过查看模板缓存文件找到问题所在。
内置的模板引擎支持普通标签和XML标签方式两种标签定义,分别用于不同的目的:普通标签主要用于输出变量和做一些基本的操作;XML标签除了包含了普通标签的所有功能外,还可以完成一些逻辑判断、控制和循环输出,但是在变量输出上,普通标签具有简洁明了的优势。
例如:{$name} 看起来比 <var name=”name” /> 更加容易使用,但是在控制和判断方面,XML标签却有着普通标签无法替代的作用。
这种方式的结合保证了模板引擎的简洁和强大的有效融合。
