【发布时间】:2020-10-22 03:08:47
【问题描述】:
我想知道如何在 Slim 4 的中间件中访问路由参数。
如果我定义了一个带有占位符和附加中间件的路由:
<?php
// ...
$app
->get('/{userId}', Controller::class)
->add(Middleware::class);
我想在调用控制器之前从中间件访问{userId} 的值:
class Middleware
{
function __invoke($request, $handler)
{
// Resolve user ID in this scope?..
return $handler->handle($request);
}
}
我知道在 Slim 3 中我们可以do it accessing attributes of request object,但是,它在 Slim 4 中不起作用。路由对象的属性包含以下条目:
__routingResults____route____basePath__
这些似乎都不包含参数。
【问题讨论】: