|
|

|
is_cached()is_cached() -- mengembalikan true jika ada cache yang benar untuk template ini Deskripsibool is_cached ( string template [, string cache_id [, string compile_id]])
Ini hanya bekerja jika
$caching disetel ke TRUE, lihat
seksi caching untuk info lebih jauh.
Anda juga dapat mengirimkan $cache_id sebagai parameter
opsional kedua seandainya anda menginginkan
multipel cache
untuk template yang diberikan.
Anda dapat menyertakan
$compile id
sebagai parameter opsional ketiga. Jika anda mengabaikan parameter itu
persisten
$compile_id dipakai bila disetel.
Jika anda tidak ingin mengirimkan $cache_id tapi ingin
mengirimkan
$compile_id anda harus mengirimkan
NULL sebagai $cache_id.
Catatan Teknis:
Jika is_cached() menghasilkan TRUE ia sebenarnya
mengambil output yang di-cache dan menyimpannya secara internal.
Setiap panggilan berikutnya ke
display() atau
fetch()
akan mengembalikan ouput ini yang secara internal disimpan dan tidak
mencoba mengambil ulang file cache. Ini menghindari kondisi lomba yang
mungkin terjadi saat proses kedua membersihkan cache diantara panggilan
ke is_cached() dan ke
display()
dalam contoh di atas. Ini juga berarti panggilan ke
clear_cache()
dan perubahan lain dari setelan-cache mungkin tidak berpengaruh setelah
is_cached() mengembalikan TRUE.
Teladan 13-1. is_cached()
<?php $smarty->caching = true;
if(!$smarty->is_cached('index.tpl')) { // lakukan panggilan database, tempatkan vars di sini }
$smarty->display('index.tpl'); ?>
|
|
Teladan 13-2. is_cached() with multiple-cache template
<?php $smarty->caching = true;
if(!$smarty->is_cached('index.tpl', 'FrontPage')) { // lakukan panggilan database, tempatkan vars di sini }
$smarty->display('index.tpl', 'FrontPage'); ?>
|
|
Lihat juga
clear_cache(),
clear_all_cache(),
and
seksi caching.
|
|
|