12
如何在頁面加載連接監聽器中獲取路由?Symfony2:在頁面加載事件監聽器中獲取路由
我在services.yml以下代碼:
page_load_listener:
class: Acme\MainBundle\EventListener\PageLoadListener
arguments: [@security.context, @session]
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController, priority: 64 }
在PageLoadListener I類有相應的方法:
public function onKernelController(FilterControllerEvent $event)
{
// Some code I need to execute that needs the route arguments
}
這個問題似乎是路線和論據並不可用。我錯過了什麼?
我需要通過哪個事件來提取路線,它是參數?
感謝,
JB
這就是票據@gilden。 _route和_controller被填充,唯一空的是_route_params屬性,雖然Request對象的ParameterBag似乎包含路由參數。我不得不專門查詢它,但它會起作用。你會不會知道爲什麼_route_params不會出現? – jbsound 2012-07-16 16:04:36
我看到引用了Symfony 2.1的_route_params引用,它看起來仍然處於測試階段。我使用穩定的2.0.15,所以我會解決這個問題。再次感謝我指出我正確的方向@gilden。 – jbsound 2012-07-16 16:12:57
@jbsound對不起,我一直忘記我正在使用2.1。*爲一個項目。您可以嘗試'var_dump' -'$ request-> attributes-> all()' - 這些屬性也應該在2.0。*的參數包中。 – gilden 2012-07-16 16:15:11