From c8f4b31c40dd6938a05f025b77c6de7135210127 Mon Sep 17 00:00:00 2001 From: dementorpasha <dementorpasha@gmail.com> Date: Sun, 15 Jun 2014 19:51:14 +0300 Subject: [PATCH] Create caching-page.md Translate "Page Caching" --- docs/guide-ru/caching-page.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/guide-ru/caching-page.md diff --git a/docs/guide-ru/caching-page.md b/docs/guide-ru/caching-page.md new file mode 100644 index 0000000..a54153a --- /dev/null +++ b/docs/guide-ru/caching-page.md @@ -0,0 +1,40 @@ +Кэширование страниц +============ + +Кэширование страниц — это кэширование всего содержимого страницы на стороне сервера. Позже когда эта страница +будет снова запрошена, сервер вернет её из кэша вместо того что бы генерировать её заново. + +Кэширование страниц осуществляется при помощи [[yii\filters\PageCache]] и [фильтра действия](runtime-filtering.md). +Это может быть использовано в классе контроллера как показано ниже: + +```php +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 секунд и должен будет измениться на текущий язык приложения; +и эта кэшированная страница должна быть признана просроченной, если общее количество постов было изменено. + +Как вы можете видеть, кэширование страниц очень похоже на [кэширования фрагмента](caching-fragment.md). Оба этих варианта +поддерживают параметры: `duration` (продолжительность), `dependencies` (зависимости), `variations` (вариации), и `enabled` +(включения). Их главное отличие заключается в том что кэширования страницы реализована как +[фильтр действия](runtime-filtering.md) а кэширования фрагмента как [виджет](structure-widgets.md). + +Вы можете использовать [кэширования фрагмента](caching-fragment.md), a также +[динамический контент](caching-fragment.md#dynamic-content) вместе с кэшированием страницы. -- libgit2 0.27.1