Symfony 5:如何从路由规则中获取选项数据

Posted

技术标签:

【中文标题】Symfony 5:如何从路由规则中获取选项数据【英文标题】:Symfony 5: how to get option data from route rules 【发布时间】:2021-06-28 19:29:04 【问题描述】:

我需要将 Options 参数与路由一起添加。我在调用控制器之前在eventListener中有事件,我想根据这个选项修改权限...

我可以列出所有路线并在其中找到一个选项,但是这样的路线的系统会有数百条,它想直接在刚刚访问的路线上到达。

怎么做?

list all routes

route annotation

【问题讨论】:

选项实际上是供内部使用的。将此类信息添加到路由定义的默认部分,然后使用 $request->attributes->get('system'); 之类的内容从请求中提取。并且不要在问题中使用图片。 【参考方案1】:

超级简单的解决方案,谢谢!

if ($e->getRequest()->get('system') === null)  throw new BadRequestException(...)

【讨论】:

以上是关于Symfony 5:如何从路由规则中获取选项数据的主要内容,如果未能解决你的问题,请参考以下文章

最佳实践以及如何在 Symfony2 中找到从 iOS AFNetworking 获取 POST 数据并在 GET 中返回 JSON?

如何在 symfony 2 中获取根路由

从 Symfony 请求中获取路由并将其传递给包含的 twig 文件?

如何在Symfony2中获取控制器的所有路由列表?

如何从子表单中获取父 Symfony3 表单的值?

Symfony2 - 在 TWIG 模板中获取当前 URL 或路由?