Удаление кеша контекстного партиала в Symfony 1.4 - PullRequest
1 голос
/ 11 июня 2010

Я недавно наткнулся на проблему.У меня есть несколько частичных, которые находятся в нескольких действиях и имеют разные способы отображения данных, поэтому я использовал контекстный параметр в cache.yml как таковой:

_list:
  enabled: true
  contextual: true

Теперь мне нужно было удалить частичный кеш, когда данныебыл обновлен, что обычно довольно просто при работе с неконтекстуальным частичным кешем или кешем действий.

Однако, когда я пытаюсь удалить этот кеш, я получаю только нулевые возвращаемые значения, и кеш не удаляется.Например:

$uri = '@sf_cache_partial?module=comment&action=_list&sf_cache_key='.$id;
$cache_manager = $this->getContext()->getViewCacheManager();
$cache_manager->has($uri) // return true
$cache_manager->remove($uri) // return null
$cache_manager->has($uri) // return true, cache is still there

Я попытался поиграть с четвертым параметром sfViewCacheManager :: remove, который является контекстом, таким как:

$context = 'space/show/sf_culture/fr/slug/'.$slug.'/tab/news/comment/_list/'.$id;
$cache_manager->remove($uri, '', '', $context); // return null

Кто-нибудь знает, как это сделать?Я в отчаянии: P

Спасибо.

1 Ответ

0 голосов
/ 15 июня 2010

Ну, похоже, была ошибка в sfFileCache. Я отправил патч на багтрекер Symfony.

Для справки вы можете посмотреть билет и патч здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...