Zend \ Cache \ Storage \ Adapter clearByTags Тег с параметрами в ZF2

Я использую Bramstroker’s StrokerCache Модуль Zend Framework 2, который сам использует Zend \ Cache и имеет метод clearByTags ().

Если я хочу очистить кеш, то следующее работает нормально:

public function fooAction()
{
$cs = $this->getServiceLocator()->get('strokercache_service');
var_dump($cs->clearByTags(array(
'controller_ClientCms\Controller\Cms'
)));
}

Однако, что если я хочу включить параметры?

    $cs->clearByTags(array(
'controller_ClientCms\Controller\Cms,param_action:index,param_client:foo'
));

…делает не Работа.

Вот как выглядит файл тега в каталоге кеша:

strokercache_route_home/client
strokercache_controller_ClientCms\Controller\Cms
strokercache_param_action_index
strokercache_param_client_foo

0

Решение

Ответ прост: пожалуйста, используйте когда-либо тег в качестве собственного элемента массива:

$cs->clearByTags(array(
'controller_ClientCms\Controller\Cms',
'param_action_index',
'param_client_foo',
));

Поскольку я не использую модуль, я не могу его протестировать, но после быстрой проверки кода это должно сработать. увидеть https://github.com/bramstroker/zf2-fullpage-cache/blob/master/src/StrokerCache/Controller/CacheController.php#L41

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]