Содержание


ObjectCache


Zend\Cache\Pattern\ObjectCache, ЗФ2, Zend Framework 2, ZF2





Обзор

Паттерн ObjectCache является расширением паттерна CallbackCache. В нем присутствуют те же методы, с той лишь разницей, что он формирует внутренние функции обратного вызова основываясь на настраиваемом объекте и переданном имени метода.

 

Быстрый старт

Инициализацияпаттерна ObjectCache:

use Zend\Cache

PatternFactory;   $object = new stdClass(); $objectCache = PatternFactory::factory('object', array( 'object' => $object, 'storage' => 'apc' ));

Параметры конфигурации (название, тип данных, значение по умолчанию, описание)

- storage        stringarrayZendCacheStorageStorageInterface     <none>          Хранилище для записи/чтения кэшируемых данных

- object           object<none>          Объект, кэширующий вызванные методы

- object_key  null string      <Class name of object>     Уникальныйключ

- cache_output        boolean         true     Кэшируемый вывод функции обратного вызова

- cache_by_defaultboolean         true     Метод кэширования, вызываемый по умолчанию

- object_cache_methods   array   []          Список методов для кеширования (IЕсли cache_by_defaultне задан)

- object_non_cache_methods      array   []          Список методов, не требующих кеширования (Если  cache_by_defaultзадан)

- object_cache_magic_properties            boolean         false   Кэширование свойств, вызванных «магических» объектов

 

Доступные методы

 

call(string $method, array $args = array())

Вызвать заданный метод настраиваемого объекта.

Тип возвращаемых данных: mixed (смешанный)

 

__call(string $method, array $args)

Вызвать заданный метод настраиваемого объекта.

Тип возвращаемых данных: mixed (смешанный)

 

__set(string $name, mixed $value)

Установить свойства настраиваемого объекта.

Тип возвращаемых данных: void

 

__get(string $name)

Получить свойства настраиваемого объекта.


Тип возвращаемых данных :mixed

 

__isset(string $name)

Проверяет, существуют ли статические свойства настраиваемого объекта.


Тип возвращаемых данных: boolean

 

__unset(string $name)

Удаляет статические свойства настраиваемого объекта.

Тип возвращаемых данных: void

 

generateKey(string $method, array $args = array())

Генерация уникального ключа, основанного на частях функции обратного вызова и аргументов.


Тип возвращаемых данных :string

 

setOptions(ZendCachePatternPatternOptions $options)

Установитьопцииметода(pattern)


Тип возвращаемых данных :Zend\Cache\Pattern\ObjectCache

 

getOptions()

Получить опции метода(pattern)


Тип возвращаемых данных :Zend\Cache\Pattern\PatternOptions

 


Примеры

Кэширование фильтра

$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 catched and cached
    'cache_output' => false,
));
 
$path = $cachedFilter->call("filter", array('/www/var/path/../../mypath'));
// OR
$path = $cachedFilter->filter('/www/var/path/../../mypath');

Автор статьи: DuB