In Yii habe ich das APC-Caching über die Datei config / main.php aktiviert:
%Vor%und es funktioniert gut, wenn ich Yi eingebaute Caching-Methoden verwenden:
%Vor% Gibt es jedoch eine Möglichkeit, diese basierend auf der Konfiguration vorübergehend auszuschalten? Ich möchte nicht, dass es aktiviert ist, während YII_DEBUG
beispielsweise auf "true" gesetzt ist, und möchte $votes = Yii::app()->cache->get("key");
zu immer als falsch ausgeben, wenn es leer ist.
Ich habe versucht, dies auszuschalten, indem ich einfach die Konfigurationseinstellung auskommentiert habe, aber es gibt (nicht unangemessene) Fehler: Call to a member function get() on a non-object
Sie können eine Cache-Klasse konfigurieren, die überhaupt nicht zwischengespeichert wird (also wird nichts gespeichert und get()
gibt immer FALSE
zurück).
Wahrscheinlich wird Yii bereits mit einem No-Cache ausgeliefert? Ja, tut es, es heißt CDummyCache
und es wird überhaupt nicht zwischengespeichert.
Es wurde für das Problem geschrieben, dass Sie in Ihrer Frage angeben, dass Yii::app()->cache
ist NULL
.
Siehe Caching Docs .
Wenn Sie den Cache nur lokal deaktivieren müssen, fügen Sie den folgenden Code in die Datei main-local.php ein. Es überschreibt die Cache-Konfiguration in der main.php
%Vor%CDummyCache ist eine Platzhalter-Cache-Komponente.
CDummyCache speichert nichts zwischen. Es ist vorgesehen, dass man immer eine "Cache" -Anwendungskomponente konfigurieren kann und nicht überprüfen muss, ob Yii :: app () - & gt; -Cache null ist oder nicht. Wenn CDummyCache durch eine andere Cache-Komponente ersetzt wird, kann schnell vom Nicht-Cache-Modus in den Cache-Modus gewechselt werden.