diff --git a/docs/fr/programmers/api-functions/api-is-cached.xml b/docs/fr/programmers/api-functions/api-is-cached.xml index c8d06a6f..bfbbaef7 100644 --- a/docs/fr/programmers/api-functions/api-is-cached.xml +++ b/docs/fr/programmers/api-functions/api-is-cached.xml @@ -1,50 +1,87 @@ - - - is_cached - - - void is_cached - string template - [string cache_id] - - - + + + + is_cached + + + + + <methodsynopsis> + <type>bool</type><methodname>is_cached</methodname> + <methodparam><type>string</type><parameter>template</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>cache_id</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>compile_id</parameter></methodparam> + </methodsynopsis> + <para> Retourne vrai s'il y a un fichier de cache valide pour ce template. Cela fonctionne seulement si <link linkend="variable.caching">caching</link> est a vrai. - </para> - <example> - <title>is_cached - + + + is_cached + +caching = true; if(!$smarty->is_cached("index.tpl")) { - // faire des requêtes base de données et assigner - // des variables ici. +//aucun appel à la base de donnée } -$smarty->display("index.tpl"); - - +$smarty->display("index.tpl"); +?> +]]> + + + Vous pouvez aussi passer en second paramètre un identifiant de cache au cas oú vous voudriez plusieurs fichiers de cache pour ce template. - - - is_cached with multiple-cache template - + + + Vous pouvez donner un identifiant de compilation en tant que troisième paramètre. + Si vous ne spécifiez pas ce paramètre, le $compile_id + persistant sera utilisé. + + + Si vous voulez utiliser un identifiant de compilation sans utilisez d'identifiant de cache, + mettez null pour l'identifiant de cache. + + + is_cached avec plusieurs templates + +caching = true; -if(!$smarty->is_cached("index.tpl","FrontPage")) { - // faire des requêtes base de données et assigner - // des variables ici. +if(!$smarty->is_cached("index.tpl", "FrontPage")) { + //appel de la base de données, assignation des variables } -$smarty->display("index.tpl","FrontPage"); - - +$smarty->display("index.tpl", "FrontPage"); +?> +]]> + + + + + + Note technique + + Si is_cached retourne vrai, 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. Cela é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 dans + l'un de nos exemples ci-dessus. Cela signifie également que les appels à clear_cache() + et les changements de paramètres du cache peuvent n'avoir aucun effet alors que is_cached + à retourné vrai. + + + +