ThinkPHP开发指南-视图-模板替换

来自站长百科
跳转至: 导航、​ 搜索

导航:返回上一页

在进行模板输出之前,系统还会对渲染的模板结果进行一些模板的特殊字符串替换操作,也就是实现了模板输出的替换和过滤。这个机制可以使得模板文件的定义更加方便,默认的替换规则有:

  • ./ Public: 会被替换成当前项目的公共模板目录 通常是 /项目目录/Tpl/default/Public/
  • __ PUBLIC __:会被替换成当前网站的公共目录 通常是 /Public/
  • __ TMPL __: 会替换成项目的模板目录 通常是 /项目目录/Tpl/default/
  • __ ROOT __: 会替换成当前网站的地址(不含域名)
  • __ APP __: 会替换成当前项目的URL地址 (不含域名)
  • __ URL __: 会替换成当前模块的URL地址(不含域名)
  • __ ACTION __:会替换成当前操作的URL地址 (不含域名)
  • __ SELF __: 会替换成当前的页面URL


因为避免输出被替换,所以请自己去掉替换字符串中间的空格.注意这些特殊的字符串是严格区别大小写的,并且这些特殊字符串的替换规则是可以更改或者增加的,我们只需要在项目配置文件中配置TMPL_PARSE_STRING就可以完成。如果有相同的数组索引,就会更改系统的默认规则。

例如

PHP代码

TMPL_PARSE_STRING  => array(    

      '__ PUBLIC __' => '/Common',  // 更改默认的__ PUBLIC __ 替换规则    

     '__UPLOAD__' => '/Public/Uploads/',  // 增加新的上传路径替换规则    

)   

事实上,表单令牌验证的令牌验证字符串的自动生成,也是在这个阶段进行替换的。