Encoderast
@Encoderast
frontend пытается что-то делать в backend

Yii2 -> как кэшировать виджет?

Возникли сложности с кэшированием виджета

Собственно сам виджет:
class FooterWidget extends Widget
{
    public function run()
    {
        $io = Common::findOne(['id' => '1']);

        return $this->render('footer', compact('io'));
    }
}


Как его кэшировать? Выручайте
  • Вопрос задан
  • 484 просмотра
Решения вопроса 1
Mx21
@Mx21
Software engineer
Можно кэшировать, как фрагмент https://github.com/yiisoft/yii2/blob/master/docs/g... Что-то типа:
if ($this->beginCache($id, ['duration' => 3600])) {
   echo \app\widgets\Menu::widget();
}


Еще можно непосредственно в теле виджета использовать Yii::$app->cache->get('key') и Yii::$app->cache->set('key'). Все зависит от задачи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы