为了账号安全,请及时绑定邮箱和手机立即绑定

使用 GET 参数在 Symfony 5 中生成 URL

使用 GET 参数在 Symfony 5 中生成 URL

PHP
智慧大石 2023-03-04 10:59:51
在 Symfony 5 中,我想部分地基于已经发布的 GET 参数生成一个 URL。假设发布的 URL 是:user/edit/5?foo=1&bar=1&baz=1&qux=1我想在控制器中生成没有foo:user/edit/5?bar=1&baz=1&qux=1首先,我删除foo参数:$request->query->remove('foo');如果我没有将user_idURL 中的 作为路由参数 (5),我将使用:$this->generateUrl('user_edit', $request->query->all());但这不起作用,因为user_id缺少。那么如何在不重写所有变量的情况下生成这样的 URL:$this->generateUrl('user_edit', ['id' => $user->getId(), ???]);我在考虑 PHP 函数array_merge(),但在我看来这更像是一个技巧而不是一个优雅的解决方案:$this->generateUrl('user_edit', array_merge(    ['id' => $user->getId()],    $request->query->all()));
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

使用array_merge(). 这正是你想要完成的。这不是“技巧”,而是一种语言功能。

如果您想要更简洁的语法,只需使用+.

$this->generateUrl('user_edit', $request->query->all() + ['id' => $user->getId()]);

最终结果与上面的完全相同,而且更短。


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号