Làm cách nào để có được tuyến đường trong trình tải trang ngay cả khi nghe?Symfony2: Tìm đường trong Trình xử lý sự kiện tải trang
Tôi có đoạn code sau trong 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 }
Trong lớp PageLoadListener tôi có phương pháp tương ứng:
public function onKernelController(FilterControllerEvent $event)
{
// Some code I need to execute that needs the route arguments
}
Vấn đề dường như là con đường và lập luận không có sẵn. Tôi đang thiếu gì?
Tôi cần vượt qua sự kiện nào để nhận tuyến đường và các đối số của nó?
Cảm ơn,
JB
Đó là vé, @gilden. _route và _controller được điền, điều duy nhất rỗng là thuộc tính _route_params, mặc dù ParameterBag cho đối tượng Request có vẻ chứa tham số route. Tôi sẽ phải truy vấn nó một cách cụ thể, nhưng nó sẽ hoạt động. Bạn có thể biết tại sao _route_params sẽ không có mặt? – jbsound
Tôi thấy các tham chiếu đến _route_params đã được giới thiệu với Symfony 2.1, có vẻ như vẫn đang trong giai đoạn thử nghiệm. Tôi đang sử dụng ổn định 2.0.15, vì vậy tôi sẽ làm việc xung quanh đó. Cảm ơn bạn lần nữa vì đã chỉ cho tôi đúng hướng, @gilden. – jbsound
@jbsound xin lỗi, tôi tiếp tục quên tôi đang sử dụng 2.1. * Cho một dự án. Bạn có thể thử 'var_dump'-ing' $ request-> attributes-> all() '- các thuộc tính phải nằm trong túi tham số cho 2.0. * Là tốt. – gilden