模版中使用常量的bug

浏览:456 发布日期:2015/04/06 分类:求助交流 关键字: 模版 常量 __ROOT__
手册中,关于模版中常量输出 可以用如下2种形式:
{$Think.const.MODULE_NAME}或者{$Think.MODULE_NAME}
但是如果常量是 __ROOT__ 或者 __APP__ 几个变量,就会导致模版报错,查看编译出来的模版缓存 <?php echo (/test); ?> 导致语法错误。
调试了发现 模版解析过程中 有用 template_filter 的Hook,这个里面会有一个templateContentReplace 函数,把系统常用的常量直接替换成值,导致和上面的常量输出方法冲突。
解决方案是在模版中直接使用<a href="__ROOT__">Home</a> 而不是{$Think.const.__ROOT__}
有问题的常量都是__***__格式的,希望在手册中进行友情提示。
最佳答案
评论( 相关
后面还有条评论,点击查看>>