Yii2 framework backup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

2.7 KiB

Кэширование страниц

Кэширование страниц — это кэширование всего содержимого страницы на стороне сервера. Позже когда эта страница будет снова запрошена, сервер вернет её из кэша вместо того что бы генерировать её заново.

Кэширование страниц осуществляется при помощи yii\filters\PageCache и фильтра действия. Это может быть использовано в классе контроллера как показано ниже:

public function behaviors()
{
    return [
        [
            'class' => 'yii\filters\PageCache',
            'only' => ['index'],
            'duration' => 60,
            'variations' => [
                \Yii::$app->language,
            ],
            'dependency' => [
                'class' => 'yii\caching\DbDependency',
                'sql' => 'SELECT COUNT(*) FROM post',
            ],
        ],
    ];
}

Приведенный выше код устанавливает, что кэширования страницы должно использоваться только для index действия; контент этой страницы должен быть закэширован не более чем на 60 секунд и должен будет измениться на текущий язык приложения; и эта кэшированная страница должна быть признана просроченной, если общее количество постов было изменено.

Как вы можете видеть, кэширование страниц очень похоже на кэширования фрагмента. Оба этих варианта поддерживают параметры: duration (продолжительность), dependencies (зависимости), variations (вариации), и enabled (включения). Их главное отличие заключается в том что кэширования страницы реализована как фильтр действия а кэширования фрагмента как виджет.

Вы можете использовать кэширования фрагмента, a также динамический контент вместе с кэшированием страницы.