2013-01-09 14 views
7

Czy istnieje sposób wyłączenia pamięci podręcznej kompilacji Twig dla określonego szablonu?Wyłącz pamięć podręczną kompilacji Twig dla określonego szablonu

Używam Twig do tworzenia szablonów wiadomości e-mail. Gdy ktoś zaktualizuje te szablony, zostaną one zapisane na dysku. Chociaż w produkcji powinienem wyczyścić całą pamięć podręczną, w przeciwnym razie aktualizacje nie zostaną zauważone.

Dlatego chcę wyłączyć pamięć podręczną Twig dla tych konkretnych szablonów. Nie mam nic przeciwko dodatkowej mocy obliczeniowej, ponieważ wyczyszczenie całej mojej pamięci podręcznej jest większym hitem wydajności.

+0

Dlaczego chcesz iść tą trasą? Jeśli możesz podać nam więcej kontekstu, dlaczego tego potrzebujesz, możemy zaproponować alternatywne rozwiązanie. Jeśli to, o co prosisz, jest możliwe (co może być, ale nie wiem jak), stracisz czas przetwarzania, gdy każde żądanie tego szablonu będzie musiało zostać przeanalizowane i załadowane. – Mike

+0

Nie mogę odpowiedzieć na twoje oryginalne pytanie z ręki, ale mogę wskazać ci pakiet, którego używam do obsługi szablonów wiadomości e-mail: https://github.com/getme/EmailTemplateBundle .. To powinno pomóc w rozwiązaniu problemu. – Mike

+0

Szkoda, że ​​program ładujący Doctrine nie obsługuje dziedziczenia. Wciąż jestem otwarty na moje wstępne propozycje pytań. – hvtilborg

Odpowiedz

2

Myślę, że Twoja odpowiedź może nie dotyczyć wyłączenia pamięci podręcznej dla określonego szablonu, ale wyczyszczenia pamięci podręcznej dla szablonu po jego aktualizacji. Nie przetestowałem poniższego kodu, ale wydaje się to uzasadnione. Pobaw się z nim trochę

W swojej działań/usług, które zbawia szablonu (po szablon został zapisany):

$fileCache = $this->container->get('twig')->getCacheFilename('AcmeDemoBundle:Default:index.html.twig'); 

if (is_file($fileCache)) { 
    @unlink($fileCache); 
} 

Aby uzyskać więcej informacji, sprawdź jak gałązka pliki cache są przekazywane w/sprzedawca /twig/twig/lib/Twig/Environment.php (\ Twig_Environment) - metoda loadTemplate().

Powiązane problemy