Symfony2: Getting Route in Page Load Event Listener

前端 未结 1 887
迷失自我
迷失自我 2020-12-15 23:13

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\         


        
相关标签:
1条回答
  • 2020-12-15 23:40

    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.

    0 讨论(0)
提交回复
热议问题