Symfony 3魔术

时间:2016-03-20 11:00:50

标签: php symfony

我正在与Symfony一起迈出第一步。 我有一个文件DefaultController.php,它有两个相同的函数:

    /**
     * @Route("/test/", name="test")
     */
    public function indexActionTest(Request $request)
    {
        return new Response('<html><body>Lucky number: it works!</body></html>');
    }

    /**
     * @Route("/test2/", name="test2")
     */
    public function indexActionTest2(Request $request)
    {
        return new Response('<html><body>Lucky number: it works here as well!</body></html>');
    }
有趣的是,第一个有效,而第二个无效 http://triod.ru/project/web/test/ http://triod.ru/project/web/test2/ 即使控制台说路线匹配!怎么可能呢?

1 个答案:

答案 0 :(得分:0)

您的公共控制器方法应始终以Action

结束
[method]Action(Request $request){}

因此,对于test2,您应该将其命名为:

public function test2Action(Request $request)

除非你覆盖另一条路线,否则你不需要添加名字:

    /**
     * @Route("/test/")
     */
    public function testAction(Request $request)
    {
        return new Response('<html><body>Lucky number: it works!</body></html>');
    }


    /**
     * @Route("/test2/")
     */

    public function test2Action(Request $request)
    {
        return new Response('<html><body>Lucky number: it works here as well!</body></html>');
    }
相关问题