您现在的位置:首页 > 教案格式 > 正文

变量之间的相关关系 ThinkTemplate模板引擎的设计和使用方法(4)

2017-12-22 17:04 网络整理 教案网

{$Think.LDELIM} //模板标签起始符号

{$Think.RDELIM} //模板标签结束符号

模板注释

模板支持注释功能,该注释文字在最终页面不会显示,仅供模板制作人员参考和识别。

格式:{/* 注释内容 */ } 或 {// 注释内容 }

说明:在显示页面的时候不会显示模板注释,仅供模板制作的时候参考。

注意:“{”和注释标记之间不能有空格。

包含模板

当页面需要包含公共文件的时候,可以通过下面的模板标签,

格式:{include:Filename }

变量之间的相关关系_统计学相关关系rsp_相关关系是指变量之间

说明:Filename表示公共文件的名称(不包含后缀,因为模板文件后缀为可配置),Filename

默认在当前目录下寻找,但是完全支持相对路径访问。

例如,下面的格式都是正确的。变量之间的相关关系{include:header } 和 {include:../public/header }。加载公共模板文件后,模板引擎会重新对该页面中的模板标签进行解析,有意思的是你还可以在公共模板中再次包含公共文件,但是一定要注意不能循环包含。

在访问index操作方法的时候,模板首先读取index文件,并开始解析include:header,在解析header文件的过程中又遇到include:menu标签,又开始解析,解析完成后再解析include:footer标签,在经过几层的嵌套包含解析后index文件最终被解析成一个缓存模板文件。而且,包含文件可以设置为变量,通过下面方式定义:

{include:$include } 其中$include为一个模板变量。

XML标签

基本上,XML标签技术包含了普通模板有的功能,并且有了一些方面的增强和补充,更重要的一点是新的标签库技术更加具有扩展性。ThinkTemplate模板引擎内置了两个标签库实现:CX和Html。

要在模板页面中使用TagLib标签库功能,需要在开始时候使用taglib 标签导入需要使用的标签,防止以后标签库大量扩展后增加解析工作量,用法如下:

引入标签库后,就可以使用标签库定义的标签来定义模板了,例如:

//可以使用下面的模板标签定义。

标签库使用的时候忽略大小写,因此下面的方式一样有效:

实际上,ThinkPHP框架模板引擎会默认加载CX标签库,所以下面的方式效果相同:

并且,默认加载的CX库可以不使用CX命名空间前缀,也就是说,

等效于

对于多重循环的定义也非常方便:

{$sub.name}

混合标签结合使用例子:

{$user.name}

{$use.age}

{$user.email}

对于不太复杂的变量输出,建议多采用{$var} 方式,因为单纯从易用性方面而言,这种方式最简洁,而且功能也比较完善。

标签库标签定义

CX标签库

CX标签库主要用于输出ThinkPHP框架的变量、包含文件和实现一定控制判断。主要有:

include 包含文件支持的标签属性有 file;

comment 模板注释 无标签属性;

iterate 迭代因子输出,循环内可以结合 write 标签,支持的标签属性有 id | name | offset | length | empty;

write 复杂变量输出,包括数组、对象,有函数支持,支持的标签属性有 name | property | key | format | function;

volist 数据对象列表输出,循环内可以结合 vo 标签,支持的标签属性有 id | name | offset | length | empty;

vo 数据对象输出,支持的标签属性有 name | property | format | function;