MediaWiki master
DependencyWrapper Class Reference

Store an arbitrary value whilst representing several CacheDependency objects as one. More...

Public Member Functions

 __construct ( $value=false, $deps=[])
 
 getValue ()
 Get the user-defined value.
 
 initialiseDeps ()
 Initialise dependency values in preparation for storing.
 
 isExpired ()
 Returns true if any of the dependencies have expired.
 
 storeToCache ( $cache, $key, $expiry=0)
 Store the wrapper to a cache.
 

Static Public Member Functions

static getValueFromCache ( $cache, $key, $expiry=0, $callback=false, $callbackParams=[], $deps=[])
 Attempt to get a value from the cache.
 

Detailed Description

Store an arbitrary value whilst representing several CacheDependency objects as one.

You should typically only use DependencyWrapper::getValueFromCache(), rather than instantiating one of these objects directly.

Definition at line 29 of file DependencyWrapper.php.

Constructor & Destructor Documentation

◆ __construct()

DependencyWrapper::__construct ( $value = false,
$deps = [] )
Parameters
mixed$valueThe user-supplied value
CacheDependency | CacheDependency[]$depsA dependency or dependency array. All dependencies must be objects implementing CacheDependency.

Definition at line 39 of file DependencyWrapper.php.

Member Function Documentation

◆ getValue()

DependencyWrapper::getValue ( )

Get the user-defined value.

Returns
bool|mixed

Definition at line 78 of file DependencyWrapper.php.

◆ getValueFromCache()

static DependencyWrapper::getValueFromCache ( $cache,
$key,
$expiry = 0,
$callback = false,
$callbackParams = [],
$deps = [] )
static

Attempt to get a value from the cache.

If the value is expired or missing, it will be generated with the callback function (if present), and the newly calculated value will be stored to the cache in a wrapper.

Parameters
BagOStuff$cache
string$keyThe cache key
int$expiryThe expiry timestamp or interval in seconds
callable | false$callbackThe callback for generating the value, or false
array$callbackParamsThe function parameters for the callback
array$depsThe dependencies to store on a cache miss. Note: these are not the dependencies used on a cache hit! Cache hits use the stored dependency array.
Returns
mixed The value, or null if it was not present in the cache and no callback was defined.

Definition at line 111 of file DependencyWrapper.php.

References isExpired().

◆ initialiseDeps()

DependencyWrapper::initialiseDeps ( )

Initialise dependency values in preparation for storing.

This must be called before serialization.

Definition at line 68 of file DependencyWrapper.php.

Referenced by storeToCache().

◆ isExpired()

DependencyWrapper::isExpired ( )

Returns true if any of the dependencies have expired.

Returns
bool

Definition at line 54 of file DependencyWrapper.php.

Referenced by getValueFromCache().

◆ storeToCache()

DependencyWrapper::storeToCache ( $cache,
$key,
$expiry = 0 )

Store the wrapper to a cache.

Parameters
BagOStuff$cache
string$key
int$expiry

Definition at line 89 of file DependencyWrapper.php.

References initialiseDeps().


The documentation for this class was generated from the following file: