我想知道如何在 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 中我们可以访问请求对象的属性,但是,它在 Slim 4 中不起作用。路由对象的属性包含以下条目:
__routingResults__
__route__
__basePath__
这些似乎都不包含参数。