缓存组

你可以通过设置$cache_id更精细地组织你的缓存。 在$cache_id值中使用竖线|来设置缓存组, 同时你可以根据需要设置多个缓存组。

不能混淆缓存组和模板目录结构,缓存组与你的模板层次结构是无关的。 比如说,你有一个模板文件themes/blue/index.tpl, 然后你想删除全部带blue的主题(theme), 这样你可以参考模板目录结构来创建一个缓存组,如 display('themes/blue/index.tpl','themes|blue'), 之后你可以通过clearCache(null,'themes|blue')来删除它们。

Example 15.9. $cache_id 组


<?php
require('Smarty.class.php');
$smarty = new Smarty;

$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);

// 删除全部'sports|basketball'的缓存
$smarty->clearCache(null,'sports|basketball');

// 删除全部"sports"下的缓存,这里包括了
// "sports|basketball", 或者 "sports|(anything)|(anything)|(anything)|..."等等
$smarty->clearCache(null,'sports');

// 删除"sports|basketball"下的foo.tpl缓存文件
$smarty->clearCache('foo.tpl','sports|basketball');


$smarty->display('index.tpl','sports|basketball');
?>