我在試圖學習如何使用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