首页 > 解决方案 > 如何在另一个中间件 Laravel 中有条件地添加中间件

问题描述

我想知道如何在我的 Laravel 项目的另一个中间件中有条件地添加中间件。

我注意到 Laravel Nova 在NovaCoreServiceProvider

$this->app->make(HttpKernel::class)->pushMiddleware(ServeNova::class);

我正在尝试在您无权访问的服务提供商范围之外完成此操作$this->app,因此我尝试了这种方式:

$container = app();
$container->make(HttpKernel::class)->pushMiddleware(MyMiddleware::class);

但这似乎不起作用。是否可以将中间件从中间件推送到堆栈?如果是这样,我该如何做到这一点?

我这样做而不是简单地正常注册它的唯一原因是防止不必要的资源加载(中间件负责触发)。

标签: laravellaravel-middleware

解决方案


推荐阅读