总结如下:
1、 一个页面一个缓存
2、 一个页面多个缓存
3、 局部关闭缓存(实时性)
缓存的目的:
PHP文件:解决功能上的问题(M+C)提供数据
HTML文件:界面效果(V)
1) 配置文件中开启缓存
$tpl->caching=2 是否开启缓存
缓存时间(秒) 时间多长
缓存目录,不建议直接放在web根文档目录 保存在哪?
2)$tpl->display(“index.tpl”);
相当于把(编译后的文件产生的)静态页面只保留一份;
$tpl->display(“index.tpl”,名称);
相当于把(编译后的文件产生的)静态页面根据名称保留多份;
Eg: $tpl->display(“index.tpl”,1);
$tpl->display(“index.tpl”,$_GET[‘page’]);
$tpl->display(“index.tpl”,$_SERVER[‘REQUSET_URI’]);
3) 登陆用户名、时间日期等实时性要求较高需要关闭缓存
<{insert}>关闭缓存
需要在*.php
Function insert_XXX 必须以inset_为前缀
在*.tpl中
<{inset name=XXX assign=XXX}> 定义时加前缀,引用不需要
Insert不是太灵活,不建议使用
其它方法关闭缓存
写插件
./plugins/block.XXX.php
Functionsmarty_block_XXX(){}
Smarty_compiler.class.php
712行左右
把true改为false
所有的插件都被关闭缓存
If($tag_command==cacheless){…..false}
Else{…………true}
自定义函数
*.php
Function XXX(){} 第三个参数的出现,不缓存
$tpl->register_block(“”,””,false)
模板文件
<{XXX}> <{$DATE}><{XXX}> 都不被缓存