2016-01-24 3 views
5

Próbuję zacząć od symfony3 i podczas zabawy z niektórymi kontrolerami i trasami napotykam problem, że za każdym razem, gdy ładuję określoną trasę, jakiekolwiek dalsze zmiany w klasie kontrolera nie są rozpoznawane przez symfony dopóki nie wyczyści pamięci podręcznej routingu.Wyłączanie pamięci podręcznej routingu w symfony

Na przykład

tworząc LuckyController

ce tworzenia numberAction

przetestować.

Potem tworząc numbers2Action

Teraz trasa dla numbers2Action isnt znaleziono dopiero zrobić cache konsoli: Przezroczysty

To wydaje się bardzo irytujące dla badania/rozwój. Szukałem możliwości wyłączenia pamięci podręcznej dla środowiska programisty, ale nie znalazłem jeszcze rozwiązania. (np. Próbowałem // $ kernel-> loadClassCache(); w app_dev.php, ale to nie działało dla mnie)

Czy istnieje sposób wyłączenia pamięci podręcznej routingu (lub innego sposobu obejścia tego problemu) w celu opracowania ?

Dzięki

EDIT: używam app_dev.php

Odpowiedz

2

istnieje specyficzne środowisko developerski, że pochodzi z symfony standardzie, które można wykorzystać, gdy jesteś rozwijających się lub debugowanie aplikacji: app_dev.php. Możesz użyć app.php do produkcji.

+0

Używam app_dev.php, ale mimo to symfony używa pamięci podręcznej routingu. – Invis00

+0

Jestem pewien, że tak, ale w trybie 'debugowania' generowane są metadane ze wszystkimi ścieżkami pliku konfiguracyjnego i kontrolera, które używają adnotacji związanych z tworzeniem trasy. Jeśli zmodyfikujesz jeden z tych plików, router zostanie zregenerowany. Czy wyłączyłeś to zachowanie za pomocą '$ kernel = new AppKernel ('dev', false);'? – Federkun

+0

Nie, to wciąż $ kernel = new AppKernel ("dev", true); – Invis00