symfony 2.3 - 如何检查路由在Symfony2中是否有参数



我正在使用Symfony2.3,并且有一个名为my_route的路径,路径/my/test/path/{param1}

如果我尝试为此路由生成 URL,我会写这样的东西:

/** @var SymfonyBundleFrameworkBundleRoutingRouter **/
$router = ...;
$router->generate('my_route', array('param1' => 'value1')); // /my/test/path/value1

但是,如果我generate方法中使用不存在的参数,URL 将变为/my/test/path/value1?param2=value2

$router->generate('my_route', array('param1' => 'value1', 'param2' => 'value2')); // /my/test/path/value1?param2=value2

如何检查路由中是否存在param2

看看类"Symfony\Component\Routing\Route"。

$route = $this->get('router')->getRouteCollection()->get('my_route');
$pathVariables = $route->compile()->getPathVariables()

最新更新