我在试图学习如何使用Symfony 2.3框架。我认为这将是一个很好的第一个练习,修改Acme\DemoBundle\DemoController::helloaction()
提供默认名称,当没有输入。设置Symfony控制器动作的默认值
这是原文:
/**
* @Route("/hello/{name}", name="_demo_hello")
* @Template()
*/
public function helloAction($name)
{
return array('name' => $name);
}
它的工作原理与像localhost/Symfony/web/demo/hello/SOMENAME
URL和失败,像localhost/Symfony/web/demo/hello/SOMENAME/
,localhost/Symfony/web/demo/hello
和localhost/Symfony/web/demo/hello/
这个网址是我做过什么:
/**
* @Route("/hello", name="_demo_hello", defaults={"name" = "World"})
* @Template()
*/
public function helloAction($name)
{
return array('name' => $name);
}
它与localhost/Symfony/web/demo/hello
一起使用,并且以localhost/Symfony/web/demo/hello/SOMENAME
,失败和localhost/Symfony/web/demo/hello/
如何使路由在有和没有名称的情况下工作,并且有和没有结尾斜杠?
确定修复了默认问题。 TX!也许我正在阅读手册的错误版本,但我明白,如果占位符在路由中,那么参数是必需的。 – dnagirl
关于尾部斜线问题的任何想法? – dnagirl
刚刚添加到我的答案。你的路由是'/ hello',所以,如果你想要'/ hello /'工作,你必须将'/'附加到你的路由 – bpoiss