为什么不将变量从视图传递到控制器?
Why this not passing variable from view to controller?
在点击减号之前,只需写一个简短的答案。网络上没有那么多树枝建议。我是初学者。
查看
#\src\BookBundle\Resources\views\Default\index.html.twig
<a href="{{ path('add',{'name':'John','surname':'Smith'})}}">Add John to DB</a>
控制器
#\src\BookBundle\Controller\DefaultController.php
/**
* @Route("/add.html", name="add")
* @Template()
*/
public function addAction($name,$surname)
{
//some db code
return new Response('New name '.$name);
}
您尚未在您的路线中为 $name 和 $surname 定义任何 slug 占位符,因此 path('add',{'name':'John','surname':'Smith'})
会将数据附加到查询字符串。类似于 /add.html?name=John&surname=Smith
。因此,您可以使用 $request->query->get('name');
在控制器中获取这些参数。参见 http://symfony.com/doc/current/book/controller.html#the-request-as-a-controller-argument
请记住,当您使用 @Template
注释时,控制器应该 return 一个参数数组传递给视图。
在点击减号之前,只需写一个简短的答案。网络上没有那么多树枝建议。我是初学者。
查看
#\src\BookBundle\Resources\views\Default\index.html.twig
<a href="{{ path('add',{'name':'John','surname':'Smith'})}}">Add John to DB</a>
控制器
#\src\BookBundle\Controller\DefaultController.php
/**
* @Route("/add.html", name="add")
* @Template()
*/
public function addAction($name,$surname)
{
//some db code
return new Response('New name '.$name);
}
您尚未在您的路线中为 $name 和 $surname 定义任何 slug 占位符,因此 path('add',{'name':'John','surname':'Smith'})
会将数据附加到查询字符串。类似于 /add.html?name=John&surname=Smith
。因此,您可以使用 $request->query->get('name');
在控制器中获取这些参数。参见 http://symfony.com/doc/current/book/controller.html#the-request-as-a-controller-argument
请记住,当您使用 @Template
注释时,控制器应该 return 一个参数数组传递给视图。