(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 --->缓存文件的有效时间判断,是根据缓存文件本身自己的有效时间判断

原文地址:https://www.cnblogs.com/kaolalovemiaomiao/p/4873619.html