laravel - 如何在另一个中间件 Laravel 中有条件地添加中间件
问题描述
我想知道如何在我的 Laravel 项目的另一个中间件中有条件地添加中间件。
我注意到 Laravel Nova 在NovaCoreServiceProvider
$this->app->make(HttpKernel::class)->pushMiddleware(ServeNova::class);
我正在尝试在您无权访问的服务提供商范围之外完成此操作$this->app
,因此我尝试了这种方式:
$container = app();
$container->make(HttpKernel::class)->pushMiddleware(MyMiddleware::class);
但这似乎不起作用。是否可以将中间件从中间件推送到堆栈?如果是这样,我该如何做到这一点?
我这样做而不是简单地正常注册它的唯一原因是防止不必要的资源加载(中间件负责触发)。
解决方案
推荐阅读
- python - 如何通过延迟初始化共享全局变量?
- jquery - 使用 Highcharts 从包含单个降雨数据的系列中创建响应式累积降雨图
- r - 是否有一个 R 函数可以根据其他两个变量给我一个值的总和?
- java - 提取水并重新填充水箱
- c++ - 为什么 NVCC 不喜欢 std::arrays 的默认初始化?
- google-apps-script - 我在哪里可以删除以前对共享 Google 表格的权限
- python - 无法通过在 Python 中导入函数的文件来使用该函数
- spreadsheet - 此单元格的内容违反其验证规则
- swift - Openstack swift 安装(SAIO)startmain 错误“找不到记录器“keystonemiddleware._common.config”的处理程序
- asp.net - 如何以编程方式将下拉列表 SelectedIndexChanged 事件添加到 UpdatePanel 触发器?