【发布时间】:2021-11-08 06:53:08
【问题描述】:
使用 Symfony 4.4,如果在请求中找到它,我想动态添加到我所有的路由参数中。例如。对于用户 ID:
PUT | DELETE | POST mywebsite.com/users/{userid}/some-action
我可以在每次登录时添加我的用户 ID,但这有点麻烦。
所以我创建了一个服务:
//src/
// |__Services/
// |___UserProcessor.php
use Monolog\Processor\ProcessorInterface;
use Symfony\Component\HttpFoundation\RequestStack;
// In my config.yaml this monolog.processor
final class UserProcessor implements ProcessorInterface
{
private RequestStack $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
public function __invoke(array $record): array
{
dd($this->requestStack->getMasterRequest()->attributes);
}
}
当我在 POST /users/{userid}/some-action 上运行我的邮递员时,我得到以下输出:
[
"media_type" => "application/json"
]
据我了解,在我的处理器运行时,symfony 路由参数request attributes 尚未构建。
我应该怎么做才能让我的处理器访问属性userid?
【问题讨论】: