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 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
10条PHP高级技巧[修正版]
Aug 02 PHP
preg_match_all使用心得分享
Jan 31 PHP
PHP错误和异长常处理总结
Mar 06 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
利用Laravel生成Gravatar头像地址的优雅方法
Dec 30 PHP
分析php://output和php://stdout的区别
May 06 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
在laravel中实现ORM模型使用第二个数据库设置
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+mysql写的留言本
2006/10/09 PHP
PHP array 的加法操作代码
2010/07/24 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
2016/12/13 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
全面解析Python的While循环语句的使用方法
2015/10/13 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
python numpy数组中的复制知识解析
2020/02/03 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
python 异步async库的使用说明
2020/05/04 Python
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
学校后勤人员职责
2013/12/27 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
小学生寒假家长评语
2014/04/16 职场文书
525心理活动总结
2014/07/04 职场文书
综合办公室岗位职责
2015/04/11 职场文书
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫