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.
42 lines
2.0 KiB
42 lines
2.0 KiB
9 years ago
|
Pamięć podręczna stron
|
||
|
======================
|
||
|
|
||
|
Pamięć podręczna stron odnosi się do zapisu zawartości całej strony po stronie serwera. Kiedy zostanie ona ponownie wywołana,
|
||
|
zawartość zostanie wyświetlona od razu z pamięci podręcznej zamiast generować ją ponownie od podstaw.
|
||
|
|
||
|
Pamięć podręczna stron jest obsługiwana przez [[yii\filters\PageCache]], [filtr akcji](structure-filters.md).
|
||
|
Poniżej znajdziesz przykładowy sposób użycia w klasie kontrolera:
|
||
|
|
||
|
```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',
|
||
|
],
|
||
|
],
|
||
|
];
|
||
|
}
|
||
|
```
|
||
|
|
||
|
W powyższym przykładzie kod zakłada użycie pamięci tylko dla akcji `index` - zawartość strony powinna zostać zapisana na maksymalnie
|
||
|
60 sekund i powinna różnić się w zależności od wybranego w aplikacji języka. Dodatkowo, jeśli całkowita liczba postów w bazie danych ulegnie zmianie,
|
||
|
zawartość pamięci powinna natychmiast stracić ważność i zostać pobrana ponownie.
|
||
|
|
||
|
Jak widać, pamięć podręczna stron jest bardzo podobna do [pamięci podręcznej fragmentów](caching-fragment.md). W obu przypadkach można
|
||
|
użyć opcji takich jak `duration` (czas ważności), `dependencies` (zależności), `variations` (warianty) oraz `enabled` (flaga aktywowania).
|
||
|
Główną różnicą tych dwóch przypadków jest to, że pamięć podręczna stron jest implemetowana jako [filtr akcji](structure-filters.md), a
|
||
|
pamięć podręczna fragmentów jako [widżet](structure-widgets.md).
|
||
|
|
||
|
Oczywiście nic nie stoi na przeszkodzie, aby używać [pamięci podręcznej fragmentów](caching-fragment.md) jak
|
||
|
i [zawartości dynamicznej](caching-fragment.md#dynamic-content) w połączeniu z pamięcią podręczną stron.
|
||
|
|