How can I get the route in a page load even listener?
I have the following code in services.yml:
page_load_listener:
class: Acme\\MainBundle\
All kernel events extend KernelEvent, which means you can simply acess the Request
object via $event->getRequest()
.
public function onKernelController(FilterControllerEvent $event)
{
$request = $event->getRequest();
// Matched route
$_route = $request->attributes->get('_route');
// Matched controller
$_controller = $request->attributes->get('_controller');
// All route parameters including the `_controller`
$params = $request->attributes->get('_route_params');
}
If you'd like to get plain route attributes, simply filter out all the elements prefixed with "_".
Choosing the proper event to listen to depends on your specific use case.