Heim  >  Artikel  >  Backend-Entwicklung  >  Yii Framework Offizieller Leitfaden Serie 31 – Caching: Seiten-Caching

Yii Framework Offizieller Leitfaden Serie 31 – Caching: Seiten-Caching

黄舟
黄舟Original
2017-02-15 09:19:441039Durchsuche



Seiten-Caching bezieht sich auf das Zwischenspeichern des Inhalts der gesamten Seite. Das Zwischenspeichern von Seiten kann an verschiedenen Stellen erfolgen. Durch die Auswahl geeigneter Seitenkopfzeilen kann der Browser des Clients beispielsweise eine Webseite für eine begrenzte Zeit zwischenspeichern. Auch die Webanwendung selbst kann Webseiteninhalte im Cache speichern. In diesem Abschnitt konzentrieren wir uns auf den letztgenannten Ansatz.

Seiten-Caching kann als Sonderfall des Fragment-Caching betrachtet werden. Da Webinhalte häufig durch Anwenden eines Layouts generiert werden, funktioniert es nicht ordnungsgemäß, wenn wir im Layout einfach beginCache() und endCache() aufrufen. Dies liegt daran, dass das Layout in die Methode CController::render() geladen wird, nachdem der Seiteninhalt generiert wurde.

Wenn wir die gesamte Seite zwischenspeichern möchten, sollten wir die Ausführung der Aktionen, die den Webinhalt generieren, überspringen. Wir können COutputCache als Aktionsfilter verwenden, um diese Aufgabe zu erfüllen. Der folgende Code zeigt, wie ein Cache-Filter konfiguriert wird:


public function filters()
{
    return array(
        array(
            'COutputCache',
            'duration'=>100,
            'varyByParam'=>array('id'),
        ),
    );
}

Die obige Filterkonfiguration macht den Filter anwendbar zu Alle Aktionen im Controller. Mithilfe von Plugin-Operatoren können wir es auf eine oder mehrere Aktionen beschränken. Weitere Details finden Sie unter Filter.

Tipp: Wir können COutputCache als Filter verwenden, da es von CFilterWidget erbt, was bedeutet, dass es ein Tool (Widget) und ein Filter ist. Tatsächlich funktionieren Widgets sehr ähnlich wie Filter: Tool-Widgets (Filter) werden ausgeführt, bevor der Inhalt der Aktion ausgeführt wird, und enden nach der Ausführung.


Das Obige ist die Seite „Yii Framework Official Guide Series 31 – Cache:“. Cache Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn