MediaWiki  master
DependencyWrapper Class Reference

This class stores an arbitrary value along with its dependencies. More...

Collaboration diagram for DependencyWrapper:

Public Member Functions

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

Static Public Member Functions

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

Private Attributes

CacheDependency[] $deps
 
 $value
 

Detailed Description

This class stores an arbitrary value along with its dependencies.

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

Definition at line 30 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 40 of file DependencyWrapper.php.

References $deps, and $value.

Member Function Documentation

◆ getValue()

DependencyWrapper::getValue ( )

Get the user-defined value.

Returns
bool|mixed

Definition at line 79 of file DependencyWrapper.php.

References $value.

◆ 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
bool | callable$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 112 of file DependencyWrapper.php.

References $cache, $deps, $value, and isExpired().

◆ initialiseDeps()

DependencyWrapper::initialiseDeps ( )

Initialise dependency values in preparation for storing.

This must be called before serialization.

Definition at line 69 of file DependencyWrapper.php.

Referenced by storeToCache().

◆ isExpired()

DependencyWrapper::isExpired ( )

Returns true if any of the dependencies have expired.

Returns
bool

Definition at line 55 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 90 of file DependencyWrapper.php.

References $cache, and initialiseDeps().

Member Data Documentation

◆ $deps

CacheDependency [] DependencyWrapper::$deps
private

Definition at line 33 of file DependencyWrapper.php.

Referenced by __construct(), and getValueFromCache().

◆ $value

DependencyWrapper::$value
private

Definition at line 31 of file DependencyWrapper.php.

Referenced by __construct(), getValue(), and getValueFromCache().


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