On this page
Caution
The documentation you are viewing is for an older version of this component.
Switch to the latest (v4) version.
Cache Patterns
CallbackCache
The callback cache pattern caches the results of arbitrary PHP callables.
Quick Start
use Laminas\Cache\Pattern\CallbackCache;
use Laminas\Cache\Pattern\PatternOptions;
// Or the equivalent manual instantiation:
$callbackCache = new CallbackCache(
$storage,
new PatternOptions([
'cache_output' => true,
])
);
Storage Adapter
The
$storage
adapter can be any adapter which implements theStorageInterface
. Check out the Pattern Quick Start-Section for a standard adapter which can be used here.
Configuration Options
Option | Data Type | Default Value | Description |
---|---|---|---|
storage |
string|array|Laminas\Cache\Storage\StorageInterface |
none | deprecated Adapter used for reading and writing cached data. |
cache_output |
bool |
true |
Whether or not to cache callback output. |
Examples
Instantiating the Callback Cache Pattern
use Laminas\Cache\Pattern\CallbackCache;
$callbackCache = new CallbackCache($storage);
Available Methods
In addition to the methods defined in the PatternInterface
and the StorageCapableInterface
, this
implementation provides the following methods.
namespace Laminas\Cache\Pattern;
use Laminas\Cache\Exception;
class CallbackCache extends AbstractStorageCapablePattern
{
/**
* Call the specified callback or get the result from cache
*
* @param callable $callback A valid callback
* @param array $args Callback arguments
* @return mixed Result
* @throws Exception\RuntimeException if invalid cached data
* @throws \Exception
*/
public function call($callback, array $args = []);
/**
* Intercept method overloading; proxies to call()
*
* @param string $function Function name to call
* @param array $args Function arguments
* @return mixed
* @throws Exception\RuntimeException
* @throws \Exception
*/
public function __call($function, array $args);
/**
* Generate a unique key in base of a key representing the callback part
* and a key representing the arguments part.
*
* @param callable $callback A valid callback
* @param array $args Callback arguments
* @return string
* @throws Exception\RuntimeException
* @throws Exception\InvalidArgumentException
*/
public function generateKey($callback, array $args = []);
}