$resources
$resources : array
cache for Smarty_CacheResource instances
Smarty Cache Handler Base for Key/Value Storage Implementations
This class implements the functionality required to use simple key/value stores for hierarchical cache groups. key/value stores like memcache or APC do not support wildcards in keys, therefore a cache group cannot be cleared like "a|*" - which is no problem to filesystem and RDBMS implementations.
This implementation is based on the concept of invalidation. While one specific cache can be identified and cleared, any range of caches cannot be identified. For this reason each level of the cache group hierarchy can have its own value in the store. These values are nothing but microtimes, telling us when a particular cache group was cleared for the last time. These keys are evaluated for every cache read to determine if the cache has been invalidated since it was created and should hence be treated as inexistent.
Although deep hierarchies are possible, they are not recommended. Try to keep your cache groups as shallow as possible. Anything up 3-5 parents should be ok. So »a|b|c« is a good depth where »a|b|c|d|e|f|g|h|i|j|k« isn't. Try to join correlating cache groups: if your cache groups look somewhat like »a|b|$page|$items|$whatever« consider using »a|b|c|$page-$items-$whatever« instead.
populate(\Smarty_Template_Cached $cached, \Smarty_Internal_Template $_template) : void
populate Cached Object with meta data from Resource
\Smarty_Template_Cached | $cached | cached object |
\Smarty_Internal_Template | $_template | template object |
populateTimestamp(\Smarty_Template_Cached $cached) : void
populate Cached Object with timestamp and exists from Resource
\Smarty_Template_Cached | $cached | cached object |
process(\Smarty_Internal_Template $_template, \Smarty_Template_Cached $cached = null) : \booelan
Read the cached template and process the header
\Smarty_Internal_Template | $_template | template object |
\Smarty_Template_Cached | $cached | cached object |
true or false if the cached content does not exist
writeCachedContent(\Smarty_Internal_Template $_template, string $content) : boolean
Write the rendered template output to cache
\Smarty_Internal_Template | $_template | template object |
string | $content | content to cache |
success
getCachedContent(\Smarty_Internal_Template $_template)
Return cached content
\Smarty_Internal_Template | $_template | template object |
clearAll(\Smarty $smarty, integer $exp_time = null) : integer
Empty cache
\Smarty | $smarty | Smarty object |
integer | $exp_time | expiration time [being ignored] |
number of cache files deleted [always -1]
clear(\Smarty $smarty, string $resource_name, string $cache_id, string $compile_id, integer $exp_time) : integer
Empty cache for a specific template
\Smarty | $smarty | Smarty object |
string | $resource_name | template name |
string | $cache_id | cache id |
string | $compile_id | compile id |
integer | $exp_time | expiration time [being ignored] |
number of cache files deleted [always -1]
locked(\Smarty $smarty, \Smarty_Template_Cached $cached)
\Smarty | $smarty | |
\Smarty_Template_Cached | $cached |
hasLock(\Smarty $smarty, \Smarty_Template_Cached $cached) : \booelan
Check is cache is locked for this template
\Smarty | $smarty | Smarty object |
\Smarty_Template_Cached | $cached | cached object |
true or false if cache is locked
acquireLock(\Smarty $smarty, \Smarty_Template_Cached $cached)
Lock cache for this template
\Smarty | $smarty | Smarty object |
\Smarty_Template_Cached | $cached | cached object |
releaseLock(\Smarty $smarty, \Smarty_Template_Cached $cached)
Unlock cache for this template
\Smarty | $smarty | Smarty object |
\Smarty_Template_Cached | $cached | cached object |
load(\Smarty $smarty, string $type = null) : \Smarty_CacheResource
Load Cache Resource Handler
\Smarty | $smarty | Smarty object |
string | $type | name of the cache resource |
Cache Resource Handler
invalidLoadedCache(\Smarty $smarty)
Invalid Loaded Cache Files
\Smarty | $smarty | Smarty object |
getTemplateUid(\Smarty $smarty, string $resource_name, string $cache_id, string $compile_id) : string
Get template's unique ID
\Smarty | $smarty | Smarty object |
string | $resource_name | template name |
string | $cache_id | cache id |
string | $compile_id | compile id |
filepath of cache file
fetch(string $cid, string $resource_name = null, string $cache_id = null, string $compile_id = null, string $content = null, $timestamp = null, string $resource_uid = null) : boolean
Fetch and prepare a cache object.
string | $cid | CacheID to fetch |
string | $resource_name | template name |
string | $cache_id | cache id |
string | $compile_id | compile id |
string | $content | cached content |
$timestamp | ||
string | $resource_uid | resource's uid |
success
invalidate(string $cid = null, string $resource_name = null, string $cache_id = null, string $compile_id = null, string $resource_uid = null) : void
Invalidate CacheID
string | $cid | CacheID |
string | $resource_name | template name |
string | $cache_id | cache id |
string | $compile_id | compile id |
string | $resource_uid | source's uid |
getLatestInvalidationTimestamp(string $cid, string $resource_name = null, string $cache_id = null, string $compile_id = null, string $resource_uid = null) : float
Determine the latest timestamp known to the invalidation chain
string | $cid | CacheID to determine latest invalidation timestamp of |
string | $resource_name | template name |
string | $cache_id | cache id |
string | $compile_id | compile id |
string | $resource_uid | source's filepath |
the microtime the CacheID was invalidated
listInvalidationKeys(string $cid, string $resource_name = null, string $cache_id = null, string $compile_id = null, string $resource_uid = null) : array
Translate a CacheID into the list of applicable InvalidationKeys.
Splits "some|chain|into|an|array" into array( '#clearAll#', 'some', 'some|chain', 'some|chain|into', ... )
string | $cid | CacheID to translate |
string | $resource_name | template name |
string | $cache_id | cache id |
string | $compile_id | compile id |
string | $resource_uid | source's filepath |
list of InvalidationKeys