在 Symfony 中,是否可以通过可能包含无限数量的 slug 的路由访问控制器,从而利用内部路由系统?
例如
my_route:
pattern: /{slug_parent}/{slug_child}/{slug_nephew}/{slug_...}/...
作为
www.mydomain.com/math/arithmetic/fractions
但是也
www.mydomain.com/tech/android
可以这样做,但我建议不要在配置 YML 中创建路由,而是使用 @Route 注释。在控制器类中添加注释,如下所示:
/**
* @Route("/{slug_parent}/{slug_child}")
* @Route("/{slug_parent}/{slug_child}/{slug_nephew}/")
* @Route("/{slug_parent}/{slug_child}/{slug_nephew}/{slug_...}/")
*/
public function yourControllerAction()
{
...
}
http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/routing.html