zoukankan      html  css  js  c++  java
  • (11) PHP 随笔---Smarty模板引擎 变量调节器、缓存处理 17--19

    ◇变量调节器(实则是一个封装好的PHP函数):在模板中获得到的变量信息,有可能不是我们想要的信息,需要经过事先修改一下(可以是多次修改)才是我们所需要的信息,相当于linux系统里的管道命令。

    ◇例如{$smarty.now}输出的是20151012143838,则如果是{$smarty.now|date_format["%Y-%M-%D %h:%m:%s"]}则会输出2015-10-12 14:38:38。

    常见的变量调节器(多个参数中间用“:”分隔):    date_format[格式化日期]        default[默认值]       lower[小写]       truncate[截取]         upperp[大写]       escape[转义(转换html标签为符号实体)]       replace[替换]

    缓存处理:页面缓存、数据缓存

            ◇页面缓存:php代码被php模块解释完毕生成的静态内容,放到一个文件里面,该文件成为缓存文件。(cms内容管理系统大量使用页面缓存)

            ◇数据缓存:把mysql的数据读出来放到速度更快的介质(内存,文件)上操作,这样对各方面的资源都有节省。

            ◇以上两种缓存,对系统的数据库和服务器资源都有节省,系统的整体性能也有所提高。提升用户的访问体验。

    ◇首先:判断是否有静态缓存文件,如果有,直接获取并返回给用户。如果没有缓存文件,判断是否已经存在对应的“混编文件”,如果有,走之,如果没有,那就要每个步骤都要走之。

    ◇缓存文件的更新条件:

             ◇删除对应的缓存文件,系统会更新。

             ◇对应的“模板文件”(包括对应的配置文件,布局文件,包含文件)有更新,缓存会自动更新。

             ◇缓存文件的有效时间(默认时间是3600s)过期,会自动更新缓存。

    ◇注:执行display方法的步骤:

            ◇0、先判断缓存是否开启

            ◇1、判断模板文件是否有更新(如果有更新,2、3步骤都省略)

            ◇2、判断混编文件是否存在

            ◇3、判断缓存文件是否存在(判断缓存文件时间是否过期)

            ◇4、展示模板内容

            ◇5、进而生成缓存文件

    ◇caching = 1 与 caching = 2 的区别

           ◇1、两者都是开启缓存,其中

                      ◇caching = 1 --->缓存文件的有效时间判断,是根据smarty对象属性cache_lifetime(默认3600s)判断

                      ◇caching = 2 --->缓存文件的有效时间判断,是根据缓存文件本身自己的有效时间判断

  • 相关阅读:
    ad域的那些事儿
    关于vs无法创建虚拟目录的问题
    关于Java链接c#的webapi的注意事项
    创建.net framework webapi出现“Web 服务器被配置为不列出此目录的内容。”错误
    vs2017专业版和企业版的密钥
    数据库‘master’中拒绝CREATE DATABASE权限
    vue局部路由守卫使用
    记一次关于vantUI 下拉列表list加载数据的问题
    vue中使用require动态拼接img路径
    记录一次关于el-tree中让内容与左边有距离的爬坑记录
  • 原文地址:https://www.cnblogs.com/kaolalovemiaomiao/p/4873619.html
Copyright © 2011-2022 走看看