MediaWiki
REL1_22
|
Helper class for caching various elements in a single cache entry. More...
Public Member Functions | |
getCachedNotice (IContextSource $context, $includePurgeLink=true) | |
Returns a message that notifies the user he/she is looking at a cached version of the page, including a refresh link. | |
getCachedValue ($computeFunction, $args=array(), $key=null) | |
Get a cached value if available or compute it if not and then cache it if possible. | |
rebuildOnDemand () | |
Rebuild the content, even if it's already cached. | |
saveCache () | |
Saves the HTML to the cache in case it got recomputed. | |
setCacheEnabled ($cacheEnabled) | |
Sets if the cache should be enabled or not. | |
setCacheKey (array $cacheKey) | |
Sets the cache key that should be used. | |
setExpiry ($cacheExpiry) | |
Sets the time to live for the cache, in seconds or a unix timestamp indicating the point of expiry... | |
setOnInitializedHandler ($handlerFunction) | |
Sets a function that gets called when initialization of the cache is done. | |
startCache ($cacheExpiry=null, $cacheEnabled=null) | |
Initializes the caching. | |
Protected Member Functions | |
getCacheKeyString () | |
Returns the cache key to use to cache this page's HTML output. | |
initCaching () | |
Initializes the caching if not already done so. | |
Protected Attributes | |
array | $cachedChunks |
List of HTML chunks to be cached (if !hasCached) or that where cached (of hasCached). | |
boolean | $cacheEnabled = true |
If the cache is enabled or not. | |
integer | $cacheExpiry = 3600 |
The time to live for the cache, in seconds or a unix timestamp indicating the point of expiry. | |
array | $cacheKey = array() |
Elements to build a cache key with. | |
boolean null | $hasCached = null |
Indicates if the to be cached content was already cached. | |
callable | $onInitHandler = false |
Function that gets called when initialization is done. |
Helper class for caching various elements in a single cache entry.
To get a cached value or compute it, use getCachedValue like this: $this->getCachedValue( $callback );
To add HTML that should be cached, use addCachedHTML like this: $this->addCachedHTML( $callback );
The callback function is only called when needed, so do all your expensive computations here. This function should returns the HTML to be cached. It should not add anything to the PageOutput object!
Before the first addCachedHTML call, you should call $this->startCache(); After adding the last HTML that should be cached, call $this->saveCache();
Definition at line 105 of file CacheHelper.php.
CacheHelper::getCachedNotice | ( | IContextSource $ | context, |
$ | includePurgeLink = true |
||
) |
Returns a message that notifies the user he/she is looking at a cached version of the page, including a refresh link.
IContextSource | $context | |
boolean | $includePurgeLink |
Definition at line 196 of file CacheHelper.php.
CacheHelper::getCachedValue | ( | $ | computeFunction, |
$ | args = array() , |
||
$ | key = null |
||
) |
Get a cached value if available or compute it if not and then cache it if possible.
The provided $computeFunction is only called when the computation needs to happen and should return a result value. $args are arguments that will be passed to the compute function when called.
{function} | $computeFunction | |
array | mixed | $args | |
string | null | $key |
Implements ICacheHelper.
Definition at line 262 of file CacheHelper.php.
CacheHelper::getCacheKeyString | ( | ) | [protected] |
Returns the cache key to use to cache this page's HTML output.
Is constructed from the special page name and language code.
MWException |
Definition at line 345 of file CacheHelper.php.
CacheHelper::initCaching | ( | ) | [protected] |
Initializes the caching if not already done so.
Should be called before any of the caching functionality is used.
Definition at line 235 of file CacheHelper.php.
Rebuild the content, even if it's already cached.
This effectively has the same effect as purging the cache, since it will be overridden with the new value on the next request.
Definition at line 371 of file CacheHelper.php.
Saves the HTML to the cache in case it got recomputed.
Should be called after the last time anything is added via addCachedHTML.
Implements ICacheHelper.
Definition at line 318 of file CacheHelper.php.
CacheHelper::setCacheEnabled | ( | $ | cacheEnabled | ) |
Sets if the cache should be enabled or not.
boolean | $cacheEnabled |
Implements ICacheHelper.
Definition at line 158 of file CacheHelper.php.
CacheHelper::setCacheKey | ( | array $ | cacheKey | ) |
Sets the cache key that should be used.
array | $cacheKey |
Definition at line 360 of file CacheHelper.php.
CacheHelper::setExpiry | ( | $ | cacheExpiry | ) |
Sets the time to live for the cache, in seconds or a unix timestamp indicating the point of expiry...
integer | $cacheExpiry |
Implements ICacheHelper.
Definition at line 332 of file CacheHelper.php.
CacheHelper::setOnInitializedHandler | ( | $ | handlerFunction | ) |
Sets a function that gets called when initialization of the cache is done.
$handlerFunction |
Definition at line 382 of file CacheHelper.php.
CacheHelper::startCache | ( | $ | cacheExpiry = null , |
$ | cacheEnabled = null |
||
) |
Initializes the caching.
Should be called before the first time anything is added via addCachedHTML.
integer | null | $cacheExpiry | Sets the cache expiry, either ttl in seconds or unix timestamp. |
boolean | null | $cacheEnabled | Sets if the cache should be enabled or not. |
Implements ICacheHelper.
Definition at line 171 of file CacheHelper.php.
array CacheHelper::$cachedChunks [protected] |
List of HTML chunks to be cached (if !hasCached) or that where cached (of hasCached).
If not cached already, then the newly computed chunks are added here, if it as cached already, chunks are removed from this list as they are needed.
Definition at line 121 of file CacheHelper.php.
integer CacheHelper::$cacheExpiry = 3600 [protected] |
The time to live for the cache, in seconds or a unix timestamp indicating the point of expiry.
Definition at line 112 of file CacheHelper.php.
boolean null CacheHelper::$hasCached = null [protected] |
Indicates if the to be cached content was already cached.
Null if this information is not available yet.
Definition at line 129 of file CacheHelper.php.
callable CacheHelper::$onInitHandler = false [protected] |
Function that gets called when initialization is done.
Definition at line 143 of file CacheHelper.php.