Skip to content

\$cache_lifetime {#variable.cache.lifetime}

This is the length of time in seconds that a template cache is valid. Once this time has expired, the cache will be regenerated.

  • $caching must be turned on (either Smarty::CACHING_LIFETIME_CURRENT or Smarty::CACHING_LIFETIME_SAVED) for $cache_lifetime to have any purpose.

  • A $cache_lifetime value of -1 will force the cache to never expire.

  • A value of 0 will cause the cache to always regenerate (good for testing only, to disable caching a more efficient method is to set $caching = Smarty::CACHING_OFF).

  • If you want to give certain templates their own cache lifetime, you could do this by setting $caching = Smarty::CACHING_LIFETIME_SAVED, then set $cache_lifetime to a unique value just before calling display() or fetch().

If $force_compile is enabled, the cache files will be regenerated every time, effectively disabling caching. You can clear all the cache files with the clear_all_cache() function, or individual cache files (or groups) with the clear_cache() function.