Php Symfony-简单@Route doens';似乎没有如预期的那样工作

Php Symfony-简单@Route doens';似乎没有如预期的那样工作,php,symfony,Php,Symfony,我刚开始使用Symfony,所以我正在尝试学习路由。因此,根据有关的官方文件,我制作了一个简单的页面,如下所示: <?php // src/AppBundle/Controller/MainController.php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Respons

我刚开始使用Symfony,所以我正在尝试学习路由。因此,根据有关的官方文件,我制作了一个简单的页面,如下所示:

<?php
// src/AppBundle/Controller/MainController.php
namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class MainController extends Controller
{
    /**
    * @Route("/index", name="Players lister")
    */
    public function renderFirstPage()
    {
        return $this->render('accounts.html.twig');
    }

    /**
    * @Route("/index/{account}", name="Players lister")
    */
    public function getPlayersList($account)
    {
        $players = array("Player1", "Player2");
        return $this->render('accounts.html.twig', array(
            'account' => $account,
            'players' => $players
        ));
    }
}
?>

但是当我在
http://localhost:8000/app_dev.php/index
I get
未找到用于“get/index”的路由
,而第二条路由工作正常。相反,如果我删除第二条路由,第一条路由就可以工作

我做错了什么?

在组件中注册的每个路由都应该具有唯一的URI和名称

每个路线也有一个内部名称:blog_list和blog_show。它们可以是任何东西(只要每个都是唯一的),并且还没有任何意义。稍后,您将使用它生成URL

在组件中注册的每个路由都应该具有唯一的URI和名称

每个路线也有一个内部名称:blog_list和blog_show。它们可以是任何东西(只要每个都是唯一的),并且还没有任何意义。稍后,您将使用它生成URL


路由路径和名称应为uniq

/**
* @Route("/", name="home")
*/
public function renderFirstPage()
{
    return $this->render('accounts.html.twig');
}

/**
* @Route("/index/{account}", name=players_lister")
*/
public function getPlayersList($account)
{
    $players = array("Player1", "Player2");
    return $this->render('accounts.html.twig', array(
        'account' => $account,
        'players' => $players
    ));
}

路由路径和名称应为uniq

/**
* @Route("/", name="home")
*/
public function renderFirstPage()
{
    return $this->render('accounts.html.twig');
}

/**
* @Route("/index/{account}", name=players_lister")
*/
public function getPlayersList($account)
{
    $players = array("Player1", "Player2");
    return $this->render('accounts.html.twig', array(
        'account' => $account,
        'players' => $players
    ));
}

路由按名称按查找顺序编制索引。因此,由于您的两条路线具有相同的名称,因此第二条路线将覆盖第一条路线。为路由指定唯一的名称,它应按预期工作。路由按名称按查找顺序编制索引。因此,由于您的两条路线具有相同的名称,因此第二条路线将覆盖第一条路线。为路由指定唯一的名称,它应按预期工作。