我正在尝试学习如何使用 Symfony 2.3 框架。我认为Acme\DemoBundle\DemoController::helloaction()
在未输入任何名称时进行修改以提供默认名称将是一个很好的第一个练习。
这是原文:
/**
* @Route("/hello/{name}", name="_demo_hello")
* @Template()
*/
public function helloAction($name)
{
return array('name' => $name);
}
它适用于类似的网址,但适用于类似localhost/Symfony/web/demo/hello/SOMENAME
的网址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/SOMENAME/
和localhost/Symfony/web/demo/hello/
如何使路由在有和没有名称以及有和没有斜杠的情况下工作?