Slim Framework 4获取中间件中的所有路线
我使用了示例 https://stackoverflow.com/a/59681352/1650293 需要它在中间件中发生。当我在中间件中做完全相同的事情时,它会返回错误500。 缺什么?我不明白为什么它不起作用。
这是我的中心,
namespace App\Application\Middleware;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Slim\Psr7\Response;
use Slim\Routing\RouteContext;
use Slim\Interfaces\RouteCollectorInterface;
final class ACLMiddleware {
private $routeCollector;
public function __construct(RouteCollectorInterface $routeCollector)
{
$this->routeCollector = $routeCollector;
}
public function __invoke(Request $request, RequestHandler $handler): Response
{
$routes = $this->routeCollector->getRoutes();
print_r($routes);
}
}
这是我的容器
use Slim\Interfaces\RouteCollectorInterface;
return [
...
RouteCollectorInterface::class => function (ContainerInterface $container) {
return $container->get(App::class)->getRouteCollector();
},
...
];
I used the example https://stackoverflow.com/a/59681352/1650293 but it works perfectly in Actions, but I need it to happen in middleware. When I do the exact same thing in middleware, it returns error 500.
What is missing? I couldn't understand why it didn't work.
This is my middware
namespace App\Application\Middleware;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Slim\Psr7\Response;
use Slim\Routing\RouteContext;
use Slim\Interfaces\RouteCollectorInterface;
final class ACLMiddleware {
private $routeCollector;
public function __construct(RouteCollectorInterface $routeCollector)
{
$this->routeCollector = $routeCollector;
}
public function __invoke(Request $request, RequestHandler $handler): Response
{
$routes = $this->routeCollector->getRoutes();
print_r($routes);
}
}
This is my container
use Slim\Interfaces\RouteCollectorInterface;
return [
...
RouteCollectorInterface::class => function (ContainerInterface $container) {
return $container->get(App::class)->getRouteCollector();
},
...
];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论