Haczyk Symfony Cache

Jeśli używasz machanizmu Cache Symfony, może się zdażyć, że natkniesz się na błąd. Dotyczy on getViewCacheManager która to zwraca null.

De facto można zobaczyć coś takiego:

Call to a member function remove() on a non-object in …

jeśli próbujesz wyczyścić pamięć podręczną z modelu obiektów – na przykład.

Przyczyna tego stanu rzeczy jest dość głupia, a zajeło mi to kilka minut by ją zrozumieć. Generalnie sfContext::getViewCacheManager() zwraca wartość null, jeśli buforowanie nie jest włączone w ustawieniach zarówno dla aplikacji jak i dla środowiska. To może być wybitnie irytujące, gdy pracujesz po stronie backend w środowisku deweloperskim i próbujsze wyczyścić pamięć podręczną dla rzeczy, które dzieją się po stronie frontend.

Poniżej prezentuję cały potrzebny kod. Oczywiście nalezy pamiętać by zastosować go odo srodowiska w którym wykonywane jest połączenie do getViewCacheManager.

 

dev:
  .settings:
    error_reporting:
    web_debug: on
    cache: on