zoukankan      html  css  js  c++  java
  • 对smarty的一点了解

     我觉得smarty还是比较简单的,但是感觉用起来还是有一点麻烦,smarty是模板引擎,我个人的理解,它是为了分离输出的代码内容和样式。

    Smarty编译时的处理过程是源php文件->模板文件(可能调用多个或多次)->源php文件。。。
    也就是说不影响原php文件的其他处理和输出。所以smarty模板文件可以是完整的html,也可以是其中一部分。
    
    smarty处理过程
    smarty将php源文件,首先编译成中间文件(也是php),如果启用缓存,再根据编译文件生成缓存文件(也是php),需要缓存的部分全部是硬编码。
    之后的每次访问都会访问编译文件(如果编译文件已经存在),一次编译多次调用(可以是单文件的多次,也可以是多文件的多次),如果启用缓存且有缓存文件而且没有过期,则直接访问缓存文件,跳过编译文件。
    编译文件一经生成,就不会被自动更新,除非模板文件或者配置文件更改。源php文件修改是不会引发重新编译的。一旦编译文件重新生成,缓存文件也必然重新生成。
    


    我们可以建不同的php源文件文件夹,把编写的php文件按一定的分类放在不同的文件夹中。
    然后在每个文件夹中都创建一个自定义的config文件,在config文件中创建一个新的$smarty = new Smarty 对象
    然后把所有不同的文件夹的php文件的缓存,配置文件,插件,模版,编译目录都设置到同一个缓存,配置文件,插件,模版,编译目录
    让该文件夹下所有PHP源文件都引用该配置文件即可获取相同配置
  • 相关阅读:
    poj 1860 最短路—Bellman-Ford算法
    poj 3083 dfs+bfs最短路
    poj 2049 Finding Nemo(bfs+优先队列)
    Codeforces 685B 树形dp
    Codeforces 679B
    hdu 5695 拓扑排序裸题
    hdu 5690 矩阵快速幂/循环节
    《概率》第一卷( 修订和补充第三版)施利亚耶夫著 周概荣译本 勘误
    HDU 2124 Repair the Wall
    HDU 1198 Farm Irrigation
  • 原文地址:https://www.cnblogs.com/223y/p/5636299.html
Copyright © 2011-2022 走看看