我正在与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/
即使控制台说路线匹配!怎么可能呢?
答案 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>');
}