W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
isCached() — 檢查模板是否已經(jīng)緩存
bool isCached(string template,
string cache_id,
string compile_id);
此函數(shù)僅在 $caching
設(shè)置為Smarty::CACHING_LIFETIME_CURRENT
或Smarty::CACHING_LIFETIME_SAVED
的時候啟用。 參見 緩存。
當(dāng)你需要使用多個緩存時,需要設(shè)置 $cache_id
這個可選參數(shù)。
你可以傳遞第三個可選的參數(shù) $compile id
。 如果省略了該參數(shù),那么會繼續(xù)使用之前的$compile_id
,如果它有設(shè)置的話。
如果你不希望傳遞$cache_id
但想傳遞 $compile_id
參數(shù),你可以傳遞一個NULL
作為$cache_id
.
如果isCached()
返回 TRUE
,那么系統(tǒng)底層將已經(jīng)載入了緩存的內(nèi)容并存儲到系統(tǒng)中。 接著執(zhí)行的display()
或者 fetch()
將直接返回存儲在系統(tǒng)中的緩存內(nèi)容,而不會再從緩存文件內(nèi)讀取。 這個機制避免了在執(zhí)行isCached()
和 display()
的時候重復(fù)兩次讀取緩存內(nèi)容,導(dǎo)致系統(tǒng)開銷。 這也意味著,在isCached()
返回TRUE
后,調(diào)用的 clearCache()
或者其他緩存設(shè)置,將不會影響緩存的內(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號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: