W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
isCached() — 檢查模板是否已經(jīng)緩存
bool isCached(string template,
string cache_id,
string compile_id);
此函數(shù)僅在 $caching
設(shè)置為Smarty::CACHING_LIFETIME_CURRENT
或Smarty::CACHING_LIFETIME_SAVED
的時(shí)候啟用。 參見 緩存。
當(dāng)你需要使用多個(gè)緩存時(shí),需要設(shè)置 $cache_id
這個(gè)可選參數(shù)。
你可以傳遞第三個(gè)可選的參數(shù) $compile id
。 如果省略了該參數(shù),那么會(huì)繼續(xù)使用之前的$compile_id
,如果它有設(shè)置的話。
如果你不希望傳遞$cache_id
但想傳遞 $compile_id
參數(shù),你可以傳遞一個(gè)NULL
作為$cache_id
.
如果isCached()
返回 TRUE
,那么系統(tǒng)底層將已經(jīng)載入了緩存的內(nèi)容并存儲(chǔ)到系統(tǒng)中。 接著執(zhí)行的display()
或者 fetch()
將直接返回存儲(chǔ)在系統(tǒng)中的緩存內(nèi)容,而不會(huì)再?gòu)木彺嫖募?nèi)讀取。 這個(gè)機(jī)制避免了在執(zhí)行isCached()
和 display()
的時(shí)候重復(fù)兩次讀取緩存內(nèi)容,導(dǎo)致系統(tǒng)開銷。 這也意味著,在isCached()
返回TRUE
后,調(diào)用的 clearCache()
或者其他緩存設(shè)置,將不會(huì)影響緩存的內(nèi)容輸出。
Example 14.32. isCached()
<?php $smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT); if(!$smarty->isCached('index.tpl')) { // do database calls, assign vars here } $smarty->display('index.tpl'); ?>
Example 14.33. isCached()用于多緩存的模板
<?php $smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT); if(!$smarty->isCached('index.tpl', 'FrontPage')) { // do database calls, assign vars here } $smarty->display('index.tpl', 'FrontPage'); ?>
參見 clearCache()
, clearAllCache()
, 和 緩存.
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)系方式:
更多建議: