PHP Classes

File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/api-functions/api-is-cached.md

Recommend this page to a friend!
  Packages of Michael Beck   Xoops 2.5   htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/api-functions/api-is-cached.md   Download  
File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/api-functions/api-is-cached.md
Role: Example script
Content type: text/markdown
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change:
Date: 2 months ago
Size: 2,102 bytes
 

Contents

Class file image Download

isCached()

returns true if there is a valid cache for this template

Description

bool

isCached

string

template

string

cache\_id

string

compile\_id

  • This only works if $caching is set to one of `Smarty::CACHING_LIFETIME_CURRENT` or `Smarty::CACHING_LIFETIME_SAVED` to enable caching. See the caching section for more info.
  • You can also pass a `$cache_id` as an optional second parameter in case you want multiple caches for the given template.
  • You can supply a $compile id as an optional third parameter. If you omit that parameter the persistent $compile_id is used if its set.
  • If you do not want to pass a `$cache_id` but want to pass a $compile_id you have to pass NULL as a `$cache_id`.

> Note > > If isCached() returns TRUE it actually loads the cached output and > stores it internally. Any subsequent call to > display() or fetch() will return > this internally stored output and does not try to reload the cache > file. This prevents a race condition that may occur when a second > process clears the cache between the calls to isCached() and to > display() in the example above. This also means > calls to clearCache() and other changes of the > cache-settings may have no effect after isCached() returned TRUE.

<?php
$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);

if(!$smarty->isCached('index.tpl')) {
// do database calls, assign vars here
}

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

   

<?php
$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);

if(!$smarty->isCached('index.tpl', 'FrontPage')) {
  // do database calls, assign vars here
}

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

   

See also clearCache(), clearAllCache(), and caching section.