Ручная инвалидация кеша HTML фрагмента

Доброго времени суток

Я хочу использовать конструкцию типа

<?php if($this->beginCache($id)) { ?>

…кэшируемое содержимое…

<?php $this->endCache(); } ?>

для кеширования куска html страницы - меню ЦМСки

Я не хочу туда добавлять различные зависимости, а хочу вручную инвалидировать кеш, когда я меняю меню в админке

Есть ли такая возможность?

Единственную возможность я пока вижу в написании функции аналогоичной getCacheKey() для COutputCache и очистки кеша с этим ключом - но это потенциально бажно

Попробуйте воспользоваться поиском. Вот аналогичная тема, только на английском: http://www.yiiframework.com/forum/index.php?/topic/21232-cache-questions

К сожалению, сам в этом вопросе я не разбирался, так что помочь не могу :)

Т.е. кэш зависит от изменений, но добавлять зависимости не хочется :)

В духе Yii правильно реализовать через dependency - т.к. информация о актуальности кэшируемых данных хранится внутри этих данных. Ещё такая штука есть:

Вариант с наследованием от COutputCache и получением значения getCacheKey теоретически, должен работать. Ну и, конечно, можно всё зачищать…

Спасибо, очень помогло