留言板

您的昵称:

联系方式:

留言内容:

         
点击关闭

ThinkPHP3.2替换模版增加新的全局解析模版

本文出至:新太潮流网络博客
本文出至:新太潮流网络博客

在进行模板渲染之前,系统还会对读取的模板内容进行一些特殊字符串替换操作,也就是实现了模板输出的替换和过滤。该替换操作仅针对内置的模版引擎。

这个机制可以使得模板文件的定义更加方便,默认的替换规则有:


_ &#95_ &#95ROOT &#95_ &#95: 会替换成当前网站的地址(不含域名) 
: 会替换成当前应用的URL地址 (不含域名)
__MODULE__:会替换成当前模块的URL地址 (不含域名)
__CONTROLLER__(__或者/Article 兼容考虑): 会替换成当前控制器的URL地址(不含域名)
/Article/articleshow:会替换成当前操作的URL地址 (不含域名)
/index.php?s=/Article/articleshow/id/203.html: 会替换成当前的页面URL
/Public:会被替换成当前网站的公共目录 通常是 /Public/


默认情况下,模板替换只会替换模板文件的特殊字符串,不会替换动态数据中的输出的内容。

注意这些特殊的字符串是严格区别大小写的,并且这些特殊字符串的替换规则是可以更改或者增加的,我们只需要在应用或者模块的配置文件中配置TMPL_PARSE_STRING就可以完成。如果有相同的数组索引,就会更改系统的默认规则。例如:


'TMPL_PARSE_STRING'  =>array(
     '/Public' => '/Common', // 更改默认的/Public 替换规则
     '__JS__'     => '/Public/JS/', // 增加新的JS类库路径替换规则
     '__UPLOAD__' => '/Uploads', // 增加新的上传路径替换规则
)


有了模板替换规则后,模板中的所有/Public字符串都会被替换,那如果确实需要输出/Public字符串到模板呢,我们可以通过增加替换规则的方式,例如:


'TMPL_PARSE_STRING'  =>array(
     '--PUBLIC--' => '/Public', // 采用新规则输出`/Public`字符串
)


这样增加替换规则后,如果我们要在模板中使用/Public字符串,只需要在模板中添加--PUBLIC--,其他替换字符串的输出方式类似。

本文出至:新太潮流网络博客
转载请注明出处:新太潮流网络博客

相关推荐



评论(每1小时刷新一次评论缓存,您的评论一小时后才会显示