如何检查路由是否在Symfony2中有参数?

时间:2014-03-31 15:16:37

标签: routing symfony-2.3

我使用的是Symfony2.3,并且路径为my_route的路径为/my/test/path/{param1}

如果我尝试为此路线生成网址,我会写下这样的内容:

/** @var Symfony\Bundle\FrameworkBundle\Routing\Router **/
$router = ...;
$router->generate('my_route', array('param1' => 'value1')); // /my/test/path/value1

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

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

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

1 个答案:

答案 0 :(得分:3)

查看课程" Symfony \ Component \ Routing \ Route"。

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