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 相关文章推荐
第4章 数据处理-php字符串的处理-郑阿奇(续)
Jul 04 PHP
关于crontab的使用详解
Jun 24 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 PHP
php封装一个异常的处理类
Jun 08 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
PHP生成随机码的思路与方法实例探索
Apr 11 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 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
jQuery ui 1.7更新小结
2009/08/15 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
python单元测试unittest实例详解
2015/05/11 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
python中reader的next用法
2018/07/24 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
夜大自我鉴定
2013/10/31 职场文书
工程采购员岗位职责
2014/03/09 职场文书
初一新生军训方案
2014/05/22 职场文书
医德考评自我评价
2014/09/14 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
中标通知书格式
2015/04/17 职场文书
2015年工程师工作总结
2015/04/30 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL