is_cached() Retourne &true; s'il y a un fichier de cache valide pour ce template Description boolis_cached stringtemplate stringcache_id stringcompile_id Celà fonctionne seulement si $caching est défini à &true;, voir aussi la section sur le cache pour plus d'informations. Vous pouvez aussi passer en second paramètre un identifiant de $cache_id au cas où vous voudriez plusieurs fichiers de cache pour ce template. Vous pouvez donner un $compile id en tant que troisième paramètre. Si vous ne spécifiez pas ce paramètre, le $compile_id persistant sera utilisé. Si vous ne voulez pas passer un $cache_id mais plutôt un $compile_id, vous devez passer &null; en tant que $cache_id. Note technique Si is_cached() retourne &true;, il charge en fait le cache existant et le stocke en interne. Tout appel supplémentaire à display() ou fetch() retournera ce contenu stocké en interne sans tenter de recharger le fichier en cache. Celà évite des problématiques d'accès concurents, lorsqu'un second processus efface le cache entre l'appel de is_cached() et l'appel à display() comme dans l'un de nos exemples ci-dessus. Celà signifie également que les appels à clear_cache() et les changements de paramètres du cache peuvent n'avoir aucun effet alors que is_cached() a retourné &true;. Exemple avec is_cached() caching = true; if(!$smarty->is_cached('index.tpl')) { //aucun appel à la base de donnée } $smarty->display('index.tpl'); ?> ]]> Exemple avec is_cached() et plusieurs templates caching = true; if(!$smarty->is_cached('index.tpl', 'FrontPage')) { //appel de la base de données, assignation des variables } $smarty->display('index.tpl', 'FrontPage'); ?> ]]> Voir aussi clear_cache(), clear_all_cache() et la section sur le cache.