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在Web开发领域的优势
Oct 09 PHP
很实用的一个完整email发送程序
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
php 执行系统命令的方法
Jul 07 PHP
Look And Say 序列php实现代码
May 22 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
php魔术变量用法实例详解
Nov 13 PHP
php单例模式示例分享
Feb 12 PHP
php去除字符串中空字符的常用方法小结
Mar 17 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 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音乐采集(部分代码)
2007/02/14 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
Python设计模式之观察者模式实例
2014/04/26 Python
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
python+django加载静态网页模板解析
2017/12/12 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
少先队入队活动方案
2014/02/08 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
学习计划是什么
2019/04/30 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python