diff --git a/docs/en/programmers/api-functions/api-is-cached.xml b/docs/en/programmers/api-functions/api-is-cached.xml index ff2265a9..29396813 100644 --- a/docs/en/programmers/api-functions/api-is-cached.xml +++ b/docs/en/programmers/api-functions/api-is-cached.xml @@ -11,6 +11,7 @@ boolis_cached stringtemplate stringcache_id + stringcompile_id This returns &true; if there is a valid cache for this template. @@ -37,6 +38,15 @@ $smarty->display("index.tpl"); 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 you do not want to pass a cache id but want to pass a compile + id you have to pass null as cache id. + is_cached with multiple-cache template @@ -53,6 +63,24 @@ $smarty->display("index.tpl", "FrontPage"); ]]> + + + + Technical Note + + If is_cached 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 is_cached and to + display in the example above. This also means calls to + clear_cache() + and other changes of the cache-settings may have no effect after + is_cached returned true. + +