我刚刚开始使用 Symfony,但遇到了路由问题。这是来自控制器的路由:
/**
* @Route("/social/{name}/", name="_speed1")
* @Route("/social/drivers/")
* @Route("/social/drivers/{name}/", name="_driver")
* @Route("/social/", name="_speed")
* @Template()
*/
public function unlimitedAction()
{
如果我去 speed/social/ 或 speed/social/bob 或 speed/social/drivers/ 或 speed/social/drivers/bob 所有这些页面都可以毫无问题地呈现。但是我需要传入的名字所以我改变了
public function unlimitedAction()
{
到
public function unlimitedAction($name)
{
如果我去 speed/social/drivers/ 或 speed/social/drivers/bob 它返回正常。但是,如果我转到 speed/social/,则会收到以下错误:
Controller "MyBundle\Controller\DefaultController::unlimitedAction()"
requires that you provide a value for the "$name" argument (because there is
no default value or because there is a non optional argument after this one).
我不明白为什么它适用于一条路线而不适用于另一条路线。
所以我的问题是,我怎样才能实现我的路由,以便我可以去:
speed/social/
speed/social/drivers/
speed/social/drivers/bob
并且能够将变量传递给动作而不会出错。
谢谢!