경로 옵션을 먼저 얻으려면 경로 수집을 얻어야하며 경로 수집에서 경로 이름에 따라 경로 개체를 얻어야합니다.
그러면 청취자는 라우터에 의존하게됩니다. 당신의 생성자는 이것을 어떻게 보일 것입니다.
/**
* @var $routeCollection \Symfony\Component\Routing\RouteCollection
*/
private $_routeCollection;
function __construct(\Symfony\Bundle\FrameworkBundle\Routing\Router $router)
{
$this->_routeCollection = $router->getRouteCollection();
}
이제 수신기 메서드 내에서 현재 경로 이름을 얻기 위해 요청 개체가 필요합니다. 예를 들어 수신기 메소드가 onKernelController() 인 경우
function onKernelController(FilterControllerEvent $event)
{
/**
* @var $route \Symfony\Component\Routing\Route
*/
$route = $this->_routeCollection->get($event->getRequest()->get('_route'));
// @var $allOptions will have all the options for current route.
$allOptions = $route->getOptions();
// To get specific option you can use getOption()
$someSpecificOption = $route->getOption('<key>');
}