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 相关文章推荐
很实用的一个完整email发送程序
Oct 09 PHP
PHP中PDO的错误处理
Sep 04 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
php函数与传递参数实例分析
Nov 15 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
php生成动态验证码gif图片
Oct 19 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 PHP
php png失真的原因及解决办法
Oct 24 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带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
vue2.0 datepicker使用方法
2018/02/04 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
vue ssr 指南详读
2018/06/29 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
python生成器的使用方法
2013/11/21 Python
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
django缓存配置的几种方法详解
2018/07/16 Python
python set集合使用方法解析
2019/11/05 Python
django中ImageField的使用详解
2020/12/21 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
adidas泰国官网:adidas TH
2020/07/11 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
大学生就业推荐信范文
2013/11/29 职场文书
企业内控岗位的职责
2014/02/07 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
node快速搭建后台的实现步骤
2022/02/18 NodeJs