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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
一些PHP写的小东西
Dec 06 PHP
PHP 内存缓存加速功能memcached安装与用法
Sep 03 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 PHP
CI框架安全类Security.php源码分析
Nov 04 PHP
PHP 验证登陆类分享
Mar 13 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
PHP多维数组指定多字段排序的示例代码
May 16 PHP
PHP实现的日历功能示例
Sep 01 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 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
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
Python计算信息熵实例
2020/06/18 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
保护环境的标语
2014/06/09 职场文书
小学生教师节广播稿
2015/08/19 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫