• 对smarty的一点了解


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

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


    我们可以建不同的php源文件文件夹,把编写的php文件按一定的分类放在不同的文件夹中。
    然后在每个文件夹中都创建一个自定义的config文件,在config文件中创建一个新的$smarty = new Smarty 对象
    然后把所有不同的文件夹的php文件的缓存,配置文件,插件,模版,编译目录都设置到同一个缓存,配置文件,插件,模版,编译目录
    让该文件夹下所有PHP源文件都引用该配置文件即可获取相同配置
  • 相关阅读:
    对Spring <context:annotation-config/>的理解
    Javascript this指针
    go 打造世界最快的go模板引擎gorazor 2.0
    swagger 部署(Mac )
    Ab测试
    Nginx tcp限制并发、IP、记日志
    Nginx proxy_protocol协议与realip模块
    数据结构之回溯
    数据结构之分治
    数据结构之二分查找
  • 原文地址:https://www.cnblogs.com/223y/p/5636299.html
Copyright © 2020-2023  润新知