smarty模板局部缓存方法使用示例


Posted in PHP onJune 17, 2014

在开启smarty缓存的情况下,第一次执行时会将其编译好的输出文件保存到cache目录中,然后在程序中通过smarty的is_cache()函数检测其 cache文件是否过期,如果过期会更新缓存,如果没有过期会自动调用cache文件,这样就省去了编译的过程。检测cache过期是看模板文件是否在指定的生命周期内是否更改,这里的更改是通过检测文件的最近修改时间实现的,不是通过检测模板文件内容。

防止一个模板文件的整篇都被缓存:

index.php文件:

require('smarty.class.php'); 
$smarty = new smarty; 
$smarty->caching = true; 
function smarty_block_dynamic($param, $content, &$smarty) { 
return $content; 
} 
$smarty->register_block('dynamic', 'smarty_block_dynamic', false); 
$smarty->display('index.tpl');

index.tpl:

page created: {"0"|date_format:"%d %h:%m:%s"} 
{dynamic} 
now is: {"0"|date_format:"%d %h:%m:%s"} 
... do other stuff ...

{/dynamic}

当重新加载这个页面,你将会注意到这两个日期不同。一个是“动态“,一个是“静态”。你能够在{dynamic}...{/dynamic}之间作任何事情,并且保证它将不会像剩下的页面一样被缓存。

PHP 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
php 获取百度的热词数据的代码
Feb 18 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
django中的ajax组件教程详解
Oct 18 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 PHP
CodeIgniter CLI模式简介
Jun 17 #PHP
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 #PHP
CI框架自动加载session出现报错的解决办法
Jun 17 #PHP
Thinkphp模板中截取字符串函数简介
Jun 17 #PHP
CI框架中zip类应用示例
Jun 17 #PHP
php获取网页请求状态程序示例
Jun 17 #PHP
php版淘宝网查询商品接口代码示例
Jun 17 #PHP
You might like
php 随机排序广告的实现代码
2011/05/09 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
js实现随机点名小功能
2017/08/17 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python变量赋值的秘密分享
2018/04/03 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
python读写csv文件的方法
2019/08/13 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
上课看小说检讨书
2014/02/22 职场文书
火灾现场处置方案
2014/05/28 职场文书
社会工作专业求职信
2014/07/15 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
2015年度保密工作总结
2015/04/24 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
SpringBoot Http远程调用的方法
2022/08/14 Java/Android