2014-03-31 85 views
1

我使用的是Symfony2.3,並有一條路徑名爲my_route,路徑爲/my/test/path/{param1}如何檢查路由在Symfony2中是否有參數?

如果我嘗試生成此路線網址,我會寫這樣的事:

/** @var Symfony\Bundle\FrameworkBundle\Routing\Router **/ 
$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

回答

3

查看類「Symfony \ Component \ Routing \ Route」。

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