What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
is_cached() — Retorna true si hay cache valido para ese template
bool is_cached(string template,
string cache_id,
string compile_id);
Esto solamente funciona si caching está asignado a true. ver también caching section.
Example 13.19. is_cached()
<?php $smarty->caching = true; if(!$smarty->is_cached("index.tpl")) { // do database calls, assign vars here } $smarty->display("index.tpl"); ?>
Usted también puede pasar un identificador de $cache como un segundo parámetro opcional en el caso que usted quiera multiples caches para el template dado.
Usted puede proporcionar el identidicador como un tercer parametro opcional. Si usted omite ese parametro la persistencia del $compile_id es usada.
Si usted no quiere pasar el
identificador de cache
solamente quiere pasar el compile id debe pasar null
como el identidficador de cache.
Example 13.20. is_cached() con templates con multiple-cache
<?php $smarty->caching = true; if(!$smarty->is_cached("index.tpl", "FrontPage")) { // do database calls, assign vars here } $smarty->display("index.tpl", "FrontPage"); ?>
Si is_cached
retorna true el carga actualmente
la salida del cache y lo guarda internamente. cualquier subsecuente
llama a display() o
fetch() y retorna este internamente
guardando la salida y no intenta volver a cargar el archivo del cache.
Esto previene una condicion de la carrera que puede ocurrir cuando un
segundo proceso limpie el cache entre las llamadas a is_cached mostradas
en el ejemplo de arriba. Esto significa tambien llamar al
clear_cache() y otros cambios
en el cache-settings que no tiene efecto despues que
is_cached
retorna true.
Ver también clear_cache(), clear_all_cache(), y caching section.