Get data from cache with given name
Optionally specify expiration time and/or a cache generation function to use when cache needs to be created.
Cached value can be a string, an array of non-object values, or a PageArray.
Example
// get single cache value
$str = $cache->get('foo');
// get 3 cached values, returns associative array with foo, bar, baz indexes
$array = $cache->get([ 'foo', 'bar', 'baz' ]);
// get all cache values with names starting with “hello”
$array = $cache->get('hello*');
// get cache only if it’s less than or equal to 1 hour old (3600 seconds)
$str = $cache->get('foo', 3600);
// same as above, but also generates the cache value with function when expired
$str = $cache->get('foo', 3600, function() {
return "This is the cached value";
});
Usage
// basic usage
$string = $cache->get($name);
// usage with all arguments
$string = $cache->get($name, $expire = null, callable $func = null);
Arguments
Name | Type(s) | Description |
---|---|---|
name | string, array | Provide a single cache name, an array of cache names, or an asterisk cache name.
|
expire (optional) | int, string, null, false | Optionally specify max age (in seconds) OR oldest date string, or false to ignore.
|
func (optional) | callable | Optionally provide a function/closure that generates the cache value and it will be used when needed. This option requires that only one cache is being retrieved (not an array of caches). Note: The $expire and $func arguments may optionally be reversed. |
Return value
string
array
PageArray
mixed
null
Returns null if cache doesn’t exist and no generation function provided.
Exceptions
Method can throw exceptions on error:
WireException
- if given invalid arguments
API reference based on ProcessWire core version 3.0.236