MediaWiki REL1_39
|
APCu-backed function memoization. More...
Public Member Functions | |
__construct ( $callable, $ttl=3600) | |
invoke (... $params) | |
Invoke the memoized function or method. | |
invokeArgs (array $args=[]) | |
Invoke the memoized function or method. | |
Static Public Member Functions | |
static | call ( $callable, array $args=[], $ttl=3600) |
Shortcut method for creating a MemoizedCallable and invoking it with the specified arguments. | |
Protected Member Functions | |
fetchResult ( $key, &$success) | |
Fetch the result of a previous invocation. | |
storeResult ( $key, $result) | |
Store the result of an invocation. | |
APCu-backed function memoization.
This class provides memoization for pure functions. A function is pure if its result value depends on nothing other than its input parameters and if invoking it does not cause any side-effects.
The first invocation of the memoized callable with a particular set of arguments will be delegated to the underlying callable. Repeat invocations with the same input parameters will be served from APCu.
Definition at line 43 of file MemoizedCallable.php.
MemoizedCallable::__construct | ( | $callable, | |
$ttl = 3600 ) |
callable | $callable | Function or method to memoize. |
int | $ttl | TTL in seconds. Defaults to 3600 (1hr). Capped at 86400 (24h). |
Definition at line 58 of file MemoizedCallable.php.
|
static |
Shortcut method for creating a MemoizedCallable and invoking it with the specified arguments.
callable | $callable | |
array | $args | |
int | $ttl |
Definition at line 151 of file MemoizedCallable.php.
References $args.
|
protected |
Fetch the result of a previous invocation.
string | $key | |
bool | &$success |
Definition at line 81 of file MemoizedCallable.php.
References $success.
Referenced by invokeArgs().
MemoizedCallable::invoke | ( | $params | ) |
Invoke the memoized function or method.
Like MemoizedCallable::invokeArgs(), but variadic.
mixed | ...$params Parameters for memoized function or method. |
Definition at line 138 of file MemoizedCallable.php.
References invokeArgs().
MemoizedCallable::invokeArgs | ( | array | $args = [] | ) |
Invoke the memoized function or method.
InvalidArgumentException | If parameters list contains non-scalar items. |
array | $args | Parameters for memoized function or method. |
Definition at line 108 of file MemoizedCallable.php.
References $args, $success, fetchResult(), serialize(), and storeResult().
Referenced by invoke().
|
protected |
Store the result of an invocation.
string | $key | |
mixed | $result |
Definition at line 95 of file MemoizedCallable.php.
Referenced by invokeArgs().