crm-rush/api/soft/smarty/4.5.2/docs/programmers/api-variables/variable-caching.md

39 lines
1.7 KiB
Markdown
Raw Normal View History

2024-09-27 15:28:55 +05:00
\$caching {#variable.caching}
=========
This tells Smarty whether or not to cache the output of the templates to
the [`$cache_dir`](#variable.cache.dir). By default this is set to the
constant Smarty::CACHING\_OFF. If your templates consistently generate
the same content, it is advisable to turn on `$caching`, as this may
result in significant performance gains.
You can also have [multiple](#caching.multiple.caches) caches for the
same template.
- A constant value of Smarty::CACHING\_LIFETIME\_CURRENT or
Smarty::CACHING\_LIFETIME\_SAVED enables caching.
- A value of Smarty::CACHING\_LIFETIME\_CURRENT tells Smarty to use
the current [`$cache_lifetime`](#variable.cache.lifetime) variable
to determine if the cache has expired.
- A value of Smarty::CACHING\_LIFETIME\_SAVED tells Smarty to use the
[`$cache_lifetime`](#variable.cache.lifetime) value at the time the
cache was generated. This way you can set the
[`$cache_lifetime`](#variable.cache.lifetime) just before
[fetching](#api.fetch) the template to have granular control over
when that particular cache expires. See also
[`isCached()`](#api.is.cached).
- If [`$compile_check`](#variable.compile.check) is enabled, the
cached content will be regenerated if any of the templates or config
files that are part of this cache are changed.
- If [`$force_compile`](#variable.force.compile) is enabled, the
cached content will always be regenerated.
See also [`$cache_dir`](#variable.cache.dir),
[`$cache_lifetime`](#variable.cache.lifetime),
[`$cache_modified_check`](#variable.cache.modified.check),
[`is_cached()`](#api.is.cached) and the [caching section](#caching).