On this page
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(callable $callback, array $args = []): mixed;
/**
* Intercept method overloading; proxies to call()
*
* @param callable-string $function Function name to call
* @param array $args Function arguments
* @return mixed
* @throws Exception\RuntimeException
* @throws \Exception
*/
public function __call(string $function, array $args): mixed;
/**
* 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 non-empty-string
* @throws Exception\RuntimeException
* @throws Exception\InvalidArgumentException
*/
public function generateKey(callable $callback, array $args = []): string;
}