0

私は bramstroker の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
4

1 に答える 1

1

回答は簡単です: ever タグを独自の配列要素として使用してください:

$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を参照してください

于 2015-02-16T10:51:18.703 に答える