修改定界符

ThinkPHP 3.2.2

修改定界符

模板文件可以包含普通模板标签和XML模板标签,标签的定界符都可以重新配置。

普通标签

内置模板引擎的普通模板标签默认以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模板标签直接输出。 例如:{$name}{$vo.name}{$vo['name']|strtoupper} 都属于普通模板标签。

要更改普遍模板的起始标签和结束标签,请使用下面的配置参数:

TMPL_L_DELIM  //模板引擎普通标签开始标记 
TMPL_R_DELIM  //模板引擎普通标签结束标记

例如在项目配置文件中增加下面的配置:

'TMPL_L_DELIM'    =>    '<{',
'TMPL_R_DELIM'    =>    '>}'

普通标签的定界符就被修改了,原来的 {$name}{$vo.name} 必须使用 <{$name}><{$vo.name}> 才能生效了。

如果你定制了普通标签的定界符,记得修改下默认的系统模板。

XML标签

普通模板标签主要用于模板变量输出和模板注释。如果要使用其它功能,请使用XML模板标签。XML模板标签可以用于模板变量输出、文件包含、条件控制、循环输出等功能,而且完全可以自己扩展功能。如果你觉得XML标签无法在正在使用的编辑器里面无法编辑,还可以更改XML标签库的起始和结束标签,请修改下面的配置参数:

TAGLIB_BEGIN    //标签库标签开始标签 
TAGLIB_END    //标签库标签结束标记

例如在项目配置文件中增加下面的配置:

'TAGLIB_BEGIN'=>'[',
'TAGLIB_END'=>']',

原来的

<eq name="name" value="value">
相等
<else/>
不相等
</eq>

就必须改成

[eq name="name" value="value"]
相等
[else/]
不相等
[/eq]

注意:XML标签和普通标签的定界符不能冲突,否则会导致解析错误。