W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
你可以通過(guò)設(shè)置$cache_id
更精細(xì)地組織你的緩存。 在$cache_id
值中使用豎線|
來(lái)設(shè)置緩存組, 同時(shí)你可以根據(jù)需要設(shè)置多個(gè)緩存組。
你可以把緩存組理解成目錄層次結(jié)構(gòu)。 比如緩存組'a|b|c'
可以理解成目錄結(jié)構(gòu)'/a/b/c/'
。
clearCache(null,'a|b|c')
相等于刪除文件 '/a/b/c/*'
。clearCache(null,'a|b')
相等于刪除文件 '/a/b/*'
。
如果你按照clearCache(null,'a|b','foo')
的方式來(lái)設(shè)置 $compile_id
, 那么它將自動(dòng)附帶一個(gè)$compile_id
的緩存組。
如果你按照clearCache('foo.tpl','a|b|c')
的方式來(lái)設(shè)置模板名稱, 然后Smarty將試圖刪除'/a/b/c/foo.tpl'
。
因?yàn)榫彺娼M是“從左到右”順序刪除緩存的,所以你不能單獨(dú)刪除某個(gè)緩存如'/a/b/*/foo.tpl'
。 你可以另外再設(shè)置一個(gè)緩存組來(lái)達(dá)到此目的。
不能混淆緩存組和模板目錄結(jié)構(gòu),緩存組與你的模板層次結(jié)構(gòu)是無(wú)關(guān)的。 比如說(shuō),你有一個(gè)模板文件themes/blue/index.tpl
, 然后你想刪除全部帶“blue”的主題(theme), 這樣你可以參考模板目錄結(jié)構(gòu)來(lái)創(chuàng)建一個(gè)緩存組,如display('themes/blue/index.tpl','themes|blue')
, 之后你可以通過(guò)clearCache(null,'themes|blue')
來(lái)刪除它們。
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'); ?>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: