This is an old revision of the document!
Table of Contents
PARSER_CACHE_USE
- Description:
- manipulate the cache validity
- DefaultAction:
- determine whether or not cached data should be used
- Preventable:
- yes
- Added:
- 2006-09-16
Signalled by cache versions of parser wrapper functions inc/parserutils.php. Syntax plugins can use this event to provide their own assistance to DokuWiki's cache (from cache key, via cache file location to validity logic) when the syntax extension adds other dependencies to the rendered page.
Passed Data and Result in event handler
The passed dokuwiki/extension/Event has the fields $data
and $result
.
$data
is a cache object (CacheParser or extended on that object) – refer inc/Cache/CacheParser.php.
For handling the event, key properties of the cache object are:
$page
, if present the wiki page id, may not always be present, e.g. when called for locale XHTML files$file
, source file$mode
, renderer mode (e.g. 'xhtml') or 'i' for instructions$key
, primary identifier, will be md5 hashed part of the cache file$ext
, secondary identifier, extension of the cache file, readable part$cache
, cache name generated by getCacheName()$depends
, array of dependencies used to determine cache validity
In the BEFORE event handler the cache object can be modified. Some examples are: extending the $depends
field, using more cachefiles for variants of the same source file (see also struct plugin) or preventing and replacing the default makeDefaultCacheDecision
cache check.
In the AFTER event handler the $result
field is set with the result of the makeDefaultCacheDecision() method. The AFTER event handler can modify this field.
See also
- Code related to this event used in any DokuWiki's files, plugins and templates