Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Get the juciest casino bonuses at this great website

If you are looking for great entertainment online, then we would like to recommend CasinoAdvisers.com. Find the best casino bonus available and much more that makes your casino experience much more enjoyable!

Name

is_cached() — Retourne TRUE s'il y a un fichier de cache valide pour ce template

Description

bool is_cached(string template,
               string cache_id,
               string compile_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.

Example 13.19. Exemple avec is_cached()


<?php
$smarty->caching = true;

if(!$smarty->is_cached('index.tpl')) {
//aucun appel à la base de donnée
}

$smarty->display('index.tpl');
?>

   

Example 13.20. Exemple avec is_cached() et plusieurs templates


<?php
$smarty->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.

Comments
No comments for this page.

Advertisement