ä½ å�¯ä»¥é€šè¿‡è®¾ç½®$cache_idæ›´ç²¾ç»†åœ°ç»„ç»‡ä½ çš„ç¼“å˜ã€‚
在$cache_id值ä¸ä½¿ç”¨ç«–线|æ�¥è®¾ç½®ç¼“å˜ç»„,
å�Œæ—¶ä½ å�¯ä»¥æ ¹æ�®éœ€è¦�设置多个缓å˜ç»„。
ä½ å�¯ä»¥æŠŠç¼“å˜ç»„ç�†è§£æˆ�目录层次结构。 比如缓å˜ç»„
'a|b|c'å�¯ä»¥ç�†è§£æˆ�目录结构'/a/b/c/'。clearCache(null,'a|b|c')相ç‰äºŽåˆ 除文件'/a/b/c/*'。clearCache(null,'a|b')相ç‰äºŽåˆ 除文件'/a/b/*'ã€‚å¦‚æžœä½ æŒ‰ç…§
clearCache(null,'a|b','foo')的方å¼�æ�¥è®¾ç½®$compile_id, 那么它将自动附带一个$compile_id的缓å˜ç»„ã€‚å¦‚æžœä½ æŒ‰ç…§
clearCache('foo.tpl','a|b|c')的方å¼�æ�¥è®¾ç½®æ¨¡æ�¿å��称, ç„¶å�ŽSmartyå°†è¯•å›¾åˆ é™¤'/a/b/c/foo.tpl'ã€‚å› ä¸ºç¼“å˜ç»„是“从左到å�³â€�顺åº�åˆ é™¤ç¼“å˜çš„ï¼Œæ‰€ä»¥ä½ ä¸�能å�•ç‹¬åˆ é™¤æŸ�个缓å˜å¦‚
'/a/b/*/foo.tpl'。 ä½ å�¯ä»¥å�¦å¤–å†�设置一个缓å˜ç»„æ�¥è¾¾åˆ°æ¤ç›®çš„。
ä¸�能混淆缓å˜ç»„和模æ�¿ç›®å½•结构,缓å˜ç»„ä¸Žä½ çš„æ¨¡æ�¿å±‚æ¬¡ç»“æž„æ˜¯æ— å…³çš„ã€‚
æ¯”å¦‚è¯´ï¼Œä½ æœ‰ä¸€ä¸ªæ¨¡æ�¿æ–‡ä»¶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');
?>
