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 文件上传源码分析(RFC1867)
Oct 30 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
基于php权限分配的实现代码
Apr 28 PHP
php使用curl发送json格式数据实例
Dec 17 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
php实现的RSS生成类实例
Apr 23 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
Jul 06 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
PHP常用字符串函数用法实例总结
Jun 04 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
实用函数9
2007/11/08 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
超级退弹代码
2008/07/07 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
python各种语言间时间的转化实现代码
2016/03/23 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
Django框架请求生命周期实现原理
2020/11/13 Python
日语翻译个人求职的自我评价
2013/10/14 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技