"Nie wiem, jaka broń będzie użyta w trzeciej wojnie światowej, ale czwarta będzie na maczugi."
-- Albert Einstein

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