background image

  当然

$smarty->display(‘与之对应的模板文件名’)还是要写,本来就不想生成缓存,第二

个参数也就不需要了。
  

$smarty->clear_cache()和$smarty->display()的参数一定要写成一致的

  

3、局部缓存

  首先让我们了解下局部缓存的意思,就是指定同一页面下的某些局部地方生成缓存。
  同样的在这里我们也要把思路反转一下。
  其实不是指定哪些局部生成缓存,而是哪些局部不生成缓存

(这和部分缓存的操作思想

是类似的

)。

  话不多说,先举一个实例
  

1.php

  

$time=time();

  

$smarty->assign(‘time’,$lanmuarr);

  

function insert_timeget()

  

{

  

return time();

  

}

  

$smarty->display(’1.html’);

  
  

1.html

  

{$time}

  

//开启缓存后,重复刷新这个不会变

  

{insert name=’timeget’}

  

//开启缓存后,重复刷新这个会变

  看懂了这个例子我们来解释下其中的原理
  在

PHP 中我们只要定义了

  函数名为

insert_自定义补充名的自定义函数,在其中返回的值,不需要 assign()方法传

递,就能直接在模板页面中以

{insert name=’自定义补充名’}的方式调用,同时不会受到缓

存的影响,而实时刷新
  好了到这里我们关于

smarty 的 3 中缓存方式就全部讲解完了,有兴趣的朋友可以自己

试验下不同的效果。