我剛開始使用Symfony,我遇到了路由問題。這裏是路由fromt控制器:Symfony Newb Routing Issue
/**
* @Route("/social/{name}/", name="_speed1")
* @Route("/social/drivers/")
* @Route("/social/drivers/{name}/", name="_driver")
* @Route("/social/", name="_speed")
* @Template()
*/
public function unlimitedAction()
{
如果我去加速/社會/或速度/社會/鮑勃或速度/社會/司機/或速度/社會/司機/鮑勃所有這些頁面的渲染沒問題。不過,我需要傳遞的名字,所以我改變
public function unlimitedAction()
{
到
public function unlimitedAction($name)
{
如果我去加速/社會/司機/或速度/社會/司機/鮑勃返回罰款。但是,如果我去加速/社會/然後我得到以下錯誤:
Controller "MyBundle\Controller\DefaultController::unlimitedAction()"
requires that you provide a value for the "$name" argument (because there is
no default value or because there is a non optional argument after this one).
我不明白爲什麼它爲一個路線而不是其他。
所以我的問題是,我怎麼能acheive我的路由,這樣我就可以去:
speed/social/
speed/social/drivers/
speed/social/drivers/bob
而且能夠把變量傳遞給操作沒有錯誤。
謝謝!
我想你也可以使用'unlimitedAction($ name = null)',但正如你所說,這不推薦。 –
@WouterJ我同意,謝謝你的評論! – gremo
感謝你們兩位,我一直是ReadingTFM,但你的答案真的有助於使它更清晰! – wali