Php Slim 4中间件中路由参数的访问

Php Slim 4中间件中路由参数的访问,php,slim,slim-4,Php,Slim,Slim 4,我想知道如何在Slim 4中访问中间件中的route参数 如果我使用占位符和连接的中间件定义路由: <?php // ... $app ->get('/{userId}', Controller::class) ->add(Middleware::class); 我知道在Slim 3中我们可以,但是,它在Slim 4中不起作用。路由对象的属性包含以下条目: \uuuu路由结果\uuuuu \uuuu路线 \uuuu基本路径 其中没有一个似乎包含参数。

我想知道如何在Slim 4中访问中间件中的route参数

如果我使用占位符和连接的中间件定义路由:

<?php

// ...

$app
    ->get('/{userId}', Controller::class)
    ->add(Middleware::class);

我知道在Slim 3中我们可以,但是,它在Slim 4中不起作用。路由对象的属性包含以下条目:

  • \uuuu路由结果\uuuuu
  • \uuuu路线
  • \uuuu基本路径

其中没有一个似乎包含参数。

您需要的内容已记录在案。您可以使用中间件中的请求对象创建路由上下文和路由对象本身。请记住,您必须添加路由中间件才能工作。以下是一个例子:


谢谢,这对我很有用。看起来有点麻烦,但实际上这是根据文档。祝您有个美好的一天!从Slim 3升级后,我不知道如何做到这一点。非常感谢。
class Middleware
{
    function __invoke($request, $handler)
    {
        // Resolve user ID in this scope?..
        return $handler->handle($request);
    }
}