The ObjectCache pattern is an extension to the CallbackCache pattern. It has the same methods but instead it generates the internally used callback in base of the configured object and the given method name.
Instantiating the object cache pattern
1 2 3 4 5 6 7 | use Zend\Cache\PatternFactory;
$object = new stdClass();
$objectCache = PatternFactory::factory('object', array(
'object' => $object,
'storage' => 'apc'
));
|
Option | Data Type | Default Value | Description |
---|---|---|---|
storage | string array Zend\Cache\Storage\StorageInterface | <none> | The storage to write/read cached data |
object | object | <none> | The object to cache methods calls of |
object_key | null string | <Class name of object> | A hopefully unique key of the object |
cache_output | boolean | true | Cache output of callback |
cache_by_default | boolean | true | Cache method calls by default |
object_cache_methods | array | [] | List of methods to cache (If cache_by_default is disabled) |
object_non_cache_methods | array | [] | List of methods to no-cache (If cache_by_default is enabled) |
object_cache_magic_properties | boolean | false | Cache calls of magic object properties |
Call the specified method of the configured object.
Return type: | mixed |
---|
Call the specified method of the configured object.
Return type: | mixed |
---|
Set a property of the configured object.
Return type: | void |
---|
Get a property of the configured object.
Return type: | mixed |
---|
Checks if static property of the configured object exists.
Return type: | boolean |
---|
Unset a property of the configured object.
Return type: | void |
---|
Generate a unique key in base of a key representing the callback part and a key representing the arguments part.
Return type: | string |
---|
Set pattern options.
Return type: | Zend\Cache\Pattern\ObjectCache |
---|
Get all pattern options.
Return type: | Zend\Cache\Pattern\PatternOptions |
---|
Caching a filter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $filter = new Zend\Filter\RealPath();
$cachedFilter = Zend\Cache\PatternFactory::factory('object', array(
'object' => $filter,
'object_key' => 'RealpathFilter',
'storage' => 'apc',
// The realpath filter doesn't output anything
// so the output don't need to be caught and cached
'cache_output' => false,
));
$path = $cachedFilter->call("filter", array('/www/var/path/../../mypath'));
// OR
$path = $cachedFilter->filter('/www/var/path/../../mypath');
|
The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.