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 相关文章推荐
PHP开发文件系统实例讲解
Oct 09 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
PHP和.net中des加解密的实现方法
Feb 27 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
php数据库备份还原类分享
Mar 20 PHP
php输出xml必须header的解决方法
Oct 17 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
php实现的简单检验登陆类
Jun 18 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
PHP中模糊查询并关联三个select框
Jun 19 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
PHP单元测试配置与使用方法详解
Dec 27 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通过COM使用ADODB的简单例子
2006/12/31 PHP
ajax 的post方法实例(带循环)
2011/07/04 PHP
php中设置多级目录session的问题
2011/08/08 PHP
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
php7连接MySQL实现简易查询程序的方法
2020/10/13 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
Django 视图层(view)的使用
2018/11/09 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
利用python画出AUC曲线的实例
2020/02/28 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
党员自我评价分享
2013/12/13 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
党建工作经验交流材料
2014/05/25 职场文书
英语投诉信范文
2015/07/03 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL