Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Symfony中发送url查询字符串中的参数?_Symfony_Url_Parameters_Query String - Fatal编程技术网

如何在Symfony中发送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 {

我想从Twig页面发送查询字符串URL中的参数,并在控制器中获取它

例如:
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) {