|
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().