smarty模板局部缓存方法使用示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-02-21 14:17:51 浏览: 评论:0
在开启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}之间作任何事情,并且保证它将不会像剩下的页面一样被缓存。
Tags: smarty模板局部缓存
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)