如何在Symfony中发送url查询字符串中的参数?
我想从Twig页面发送查询字符串URL中的参数,并在控制器中获取它 例如:如何在Symfony中发送url查询字符串中的参数?,symfony,url,parameters,query-string,Symfony,Url,Parameters,Query String,我想从Twig页面发送查询字符串URL中的参数,并在控制器中获取它 例如:index.html.twig <a href="/newcont/add/{{ id }}">New</a> 我希望有一个url,在twig中包含一个变量,发送给控制器操作。永远不要对路由进行硬编码!使用模板中的路由帮助程序。首先给你的路线命名,在这种情况下,我将其命名为“myroute”,当然你应该使用更有意义的名称: class Newcont extends Controller {
index.html.twig
<a href="/newcont/add/{{ id }}">New</a>
我希望有一个url,在twig中包含一个变量,发送给控制器操作。永远不要对路由进行硬编码!使用模板中的路由帮助程序。首先给你的路线命名,在这种情况下,我将其命名为“myroute”,当然你应该使用更有意义的名称:
class Newcont extends Controller
{
/**
* @Route("/newcont/add/{id}", name="myroute", requirements={"id": "\d+"})
*/
然后在细枝文件中,使用将为您生成正确路径的path
helper:
<a href="{{ path('myroute', {'id': 7}) }}">New</a>
您可以这样做,因为您已经在路由中显式地命名了此参数,并且它是必需的,因此在所有情况下都将定义它。它使代码更加清晰易读。它还允许删除无用的代码
请注意,在这种情况下,如果不想修改查询字符串,则需要修改路径。查询字符串是路径后面的内容,如
?foo=bar
,如何在控制器中获取Id?读取$id在Request$Request之后
<a href="{{ path('myroute', {'id': 7}) }}">New</a>
<a href="{{ path('myroute', {'id': myTwigVar}) }}">New</a>
public function addAction(Request $request, $id) {