Кэширование страницы относится к кэшированию содержимого всей страницы на стороне сервера. Позже, когда та же самая страница снова будет запрошена, ее содержимое будет обслуживаться из кеша, а не восстанавливаться с нуля.
Кэширование страниц поддерживается фильтром действия 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
. Их основное отличие заключается в том, что кеширование страниц реализовано как фильтр действий, а фрагмент кэширует виджет.
Вы можете использовать кэширование фрагментов, а также динамический контент и кеширование страниц.
0 комментариев