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读取RSS feed的代码
Aug 01 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
php输出表格的实现代码(修正版)
Dec 29 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
分享下页面关键字抓取components.arrow.com站点代码
Jan 30 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
WordPress中缩略图的使用以及相关技巧
Nov 24 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
php实现图片以base64显示的方法
Oct 13 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
PHP实现简单登录界面
Oct 23 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 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的面试题集,附我的答案和分析(一)
2006/11/19 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
项目实践之javascript技巧
2007/12/06 Javascript
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
Python基于DES算法加密解密实例
2015/06/03 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
健康家庭事迹材料
2014/05/02 职场文书
化学专业自荐信
2014/05/28 职场文书
质量管理标语
2014/06/12 职场文书
计划生育标语
2014/06/23 职场文书
2014年部门工作总结
2014/11/12 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server