我想问一下。Smarty模板引擎中能访问常量的原理是什么?或者说是如何做到的。比如:
smarty.const.xxxxx然后$smarty->fetch(xxxx.tpl') 

解决方案 »

  1.   

    没研究过,本人不喜欢用smarty,喜欢原生的php语法
      

  2.   

    其实他也是替换的原理吧...
     本人没有深究过smarty...
      

  3.   


    打个比方
    这样{$smarty.const.MY_CONST_VAL} 检测到这个占位符他可以截取MY_CONST_VAL  
      

  4.   

    display的时候的确可以这样。编译模板后在inlcude 但用fetch我就想不明白了。又不用include 比如我定义 了 deine("test",12);
    然后const.test  它是咋样在fetch里输出12的我正下源码慢也忍了。
      

  5.   

    fetch等于是累加模板 。 display 等于输出解析完成的全部模板
      

  6.   

    smarty是编译型的,
    就是说对于{$smarty.const.XXX},
    只要把这个标签替换成<?php echo XXX; ?>就行了
    这下看起来简单多了吧?至于fetch和display,
    其实是一样的,
    不过一个把结果放入变量,一个直接显示而已
      

  7.   

    我没搞过 smarty,不过望文生义的话,如果给 $smarty.const 这个 Object 配一个 __get(),大概就能达到楼主说的效果了。
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)