Przeczytałem cały rozdział w dokumentach Symfony2 i napisałem, że jeśli dodaję detektor do zdarzenia kernel.controller, mogę zamienić kontroler, który zostanie uruchomiony, mam coś, co działa trochę jak ten:Próbuję zamienić kontroler za pomocą detektora zdarzeń z Symfony2
public function onKernelController(FilterControllerEvent $event)
{
$controller = $event->getController();
$replacementControllerName = .... //Some logic to work out the name of the new controller
$replacementController = ?? //Not sure what goes here
$event->setController($replacementController);
}
bit jestem pewien, czy to kiedyś pracowałem na nazwę kontrolera zastępczej, w jaki sposób uzyskać wystąpienie z niego, że może przejść do setController?
Dzięki za odpowiedzi, ale nadal mam problemy z dostaniem coś pracy, która z tych opcji jest najlepszym sposobem, aby uzyskać konfigurację kontrolera więc będzie pracować jakby Symfony stworzył go? – pogo
To byłaby opcja 6. –
Przepraszam, że mogę być głupi, ale nadal nie jestem pewien jak to zrobić, czy możesz zamieścić przykładowy kod? Jestem nieco zdezorientowany, ponieważ myślałem, że metoda class :: zawsze odwołuje się do metody statycznej, więc nie widzę, w jaki sposób wyzwaliby ControllerResolver, aby cokolwiek zrobić. – pogo