这几天看见这个模板N次了 loop 怎么看怎么熟悉 说说俺的模板历程吧
TPL->DZ->SMARTY->PHP其实PHP本身就是一个超级模板 太多模板是用PHP来实现PHP也并不是说应该PHP和HTML混写 在一个程序复杂到需要分层来设计的时候 
表现应该有模块来控制 比如多语言 多风格
再者可以防止一些BUG的产生 表现输出的的变量都在一个FUNCITON中 
很多经典的程序都出现过这类问题
支持LZ分享 个人经验少用甚至不用全局变量
当一组函数都需要使用某一个变量的时候 不应该把这个变量设为全局变量
当一组函数都用来完成某一个功能的时候 而这几个函数又相互依存
应该把这组程序作为一个CLASS当条件或规则可以用变量来表示的时候且条件或规则可能会经常改动的时候
应该把条件或规则存放在变量中避免直接写在代码中 例如正则表达式共同学习 共同进步

解决方案 »

  1.   

    smarty 的缺点是开发体验较差。
    smarty 的好处是比较全面。模块性较好。
      

  2.   

    这个模块有问题。。LOOP如果套的东西过多,或者说套的全是 常量就会出问题。还有  require一个动态的.PHP(里面用到了此模板)会报错。。稍不留意,模板就很容易变为全空白。。比较郁闷。。
      

  3.   

    学习了,老兄的贴,一定要顶。老兄的代码贴一般都很好用!个人感觉模板简要功能:
    1、程序和页的分离
    2、多模板多样式选择
    3、多语言支持模板的核心功能仍是程序逻辑和页的分离。即模板就普通页,程序就是程序页,所谓编译,就是将程序和模板合二为一(完全html文件),所谓缓存或是将编译后的文件缓存!所以,模板技术的核心是程序和模板的合成。其中主要的就是楼主所说的替换!个人觉得用class比较好点,用类可以进行更多控制!
    第二个是咱径引用,将设法将所有相对咱径转为绝对种径,保证引用模板万无一失
    第三个就可以设定界定符变量,进行替换!