根据条件运行中间件 - Laravel

2023-12-01

我有一个中间件,用于检查请求中的特定标头参数并根据该参数发回响应。

但我遇到的问题是我不希望这个中间件始终在我的控制器中的函数上运行。我希望如果函数中的条件为真(例如:存储函数),中间件就会运行。

我怎样才能实现这个目标?


在执行控制器操作之前调用中间件。因此不可能根据操作内的条件执行中间件。但是,可以有条件地执行中间件:

通过请求

您可以将条件添加到请求对象(隐藏字段或类似字段)

public function handle($request, Closure $next)
{
    // Check if the condition is present and set to true
    if ($request->has('condition') && $request->condition == true)) {
        //
    }

    // if not, call the next middleware
    return $next($request);
}

通过参数

要将参数传递给中间件,您必须在路由定义中设置它。定义路线并附加:将条件值(在此示例中为布尔值)添加到中间件的名称。

路线/web.php

Route::post('route', function () {
//
})->middleware('FooMiddleware:true');

Foo中间件

public function handle($request, Closure $next, $condition)
{
    // Check if the condition is present and set to true
    if ($condition == true)) {
        //
    }

    // if not, call the next middleware
    return $next($request);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据条件运行中间件 - Laravel 的相关文章

  • SetInterval 函数不适用于 PHP 文件

    我有这样的index html
  • 是否可以在 UML 中可视化一堆函数

    我正在改进一个使用类和函数文件 只是包含各种函数的 php 文件 的内容管理系统 例如 我有一堂课叫Admin以及一个功能文件 其功能包括显示管理员概述 创建新管理员 编辑现有管理员 删除管理员 函数文件使用类并执行 mvc 概念的可视化部
  • PHP 异常处理与 C#

    这是一个非常基本的问题 我希望如此 我所做的大部分异常处理都是使用 C 进行的 在 C 中 任何在 try catch 块中出错的代码都会由 catch 代码处理 例如 try int divByZero 45 0 catch Except
  • Codeigniter PHP - 在锚点加载视图

    我在一个长页面的底部有一个表单 如果用户填写了表单但它不验证页面是否以典型的 codeigniter 方式重新加载 this gt load gt view template data 然而 由于表单位于页面底部 我需要将页面加载到那里 就
  • PHP 读取使用 setcookie() 创建的 cookie

    来自manual https www php net setcookie 直到下一次加载 Cookie 应该可见的页面之前 Cookie 才会变得可见 这意味着创建的 cookiesetcookie将无法访问 COOKIE直到下一页加载 有
  • Laravel 5.4 将json保存到数据库

    帮我将 json 保存到数据库 表字段类型 文本 我有带有强制转换数组的模型 class Salesteam extends Model protected casts team members gt array 我想要像这样 index
  • 转义用户数据,无需魔法引号

    我正在研究如何在来自外部世界的数据被用于应用程序控制 存储 逻辑等之前正确地对其进行转义 显然 随着 magic quote 指令在 php 5 3 0 中很快被弃用 并在 php6 中被删除 对于任何想要升级并进入新语言功能 同时维护遗留
  • 如何在没有 session_destroy 的情况下销毁 Zend_Session_Namespace

    我使用以下方法在临时会话中存储一些值 job new Zend Session Namespace application 我如何只销毁会话应用无需清除所有会话 要从会话中删除值 请对对象属性使用 PHP 的 unset 函数 假设 job
  • 如何使用 php DOM 获取 内的值?

    我如何使用 php DOM 获取 内的值 这是我的 xml 中的一些代码
  • 在php中获取大于2GB的文件大小的最佳方法?

    我想检查本地驱动器上的文件大小windows OS 但是PHP原生函数filesize 仅当文件大小小于时才有效2GB 大于的文件2GB将返回错误的数字 那么 是否有其他方法来获取大于的文件大小2GB 非常感谢 您始终可以使用系统的文件大小
  • 随机错误 symfony:ContextErrorException: 警告: simplexml_load_file(): I/O 警告: 无法加载外部实体

    在我的 Symfony 项目中 当我进入应用程序中的随机页面时 会出现以下随机错误 ContextErrorException Warning simplexml load file I O warning failed to load e
  • 查明具有特定 ID 的会话是否已过期

    我正在创建一个上传功能 将用户上传的文件存储在服务器上 并以用户的会话 ID 作为名称 现在 我只想将此文件保留在服务器上 直到该会话处于活动状态 所以 我的问题是 如何根据会话 ID 确定会话是活动的还是过期的 以便在后一种情况下我可以安
  • CryptoJS 使用密码加密 AES,但 PHP 解密需要密钥

    我在用CryptoJS https code google com p crypto js AES加密字符串 function doHash msg msg String msg var passphrase aggourakia var
  • Apache 子进程已退出,状态为 255

    经过大量的搜索 尝试 修复 等待和哭泣 在我放弃之前 我想为这个错误抓住最后的机会 我们正在奔跑Microsoft Windows Server 2012 Apache 2 4 6 Win64 OpenSSL 1 0 1e PHP 5 5
  • 错误 #520009 - 帐户受到限制

    我收到 520009 错误 帐户 电子邮件受保护 cdn cgi l email protection被限制 当尝试进行并行付款时 我的代码使用沙箱运行良好 但我切换到实时端点 它开始失败 有问题的帐户是有效的 PayPal 帐户 我使用的
  • 如何从另一个数组值中过滤数组值并返回新数组? [复制]

    这个问题在这里已经有答案了 我有两个数组 all languages and taken languages 第一个包含所有语言 例如 200 种或其他语言 第二个包含之前选择的语言 从 0 到 200 种 我需要删除所有已采用的语言 ta
  • 从检查元素隐藏 ''

    我有这个 HTML 和 PHP 联系表
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • PHP Json_encode 将空格更改为加号 +

    我有一个网络应用程序 我首先将 JSON 数据存储在 cookie 中 然后每 x 秒保存到数据库 它只是打开与服务器的连接 服务器读取 cookie 它实际上并不通过 POST 或 GET 发送任何内容 当我保存到 cookie 时 我的
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时

随机推荐

  • 安装了最新的 JDK 1.8.0,但我的 Javac 版本仍然显示旧版本(Windows 7 - 64)

    我一直在尝试使用 Angular 安装 NativeScripttutorial在过去的两天里 我不断遇到有关 Android SDK 安装不正确和冻结的问题 最后在尝试安装 Android Studio 之前重新安装了最新的 JDK 和
  • “无法在客户端计算机上加载 DLL 'SQLite.Interop.dll' 错误

    我创建了一个 Winforms 应用程序 并将 SQLite 与 Entity Framework 6 结合使用 我使用的是 Visual Studio 2013 该应用程序在我的本地计算机上完美运行 但是 当程序在另一台机器上运行时 会出
  • 对 var2 的更改也会更改 var1,var1 是从该变量派生的

    我正在制作一个 PowerShell 脚本 并遇到了一个奇怪的问题 至少对于我的世界观来说是这样 这是具有 1 个属性和一些整数值的对象 Source Source Priority 43 37 26 51 23 69 6 43 我想创建一
  • ng2-charts条形图不显示数据/图表标签

    我在 angular2 中使用 ng2 charts 构建了水平条形图 但我不确定为什么我没有看到图形数据 也没有在控制台中看到任何错误 HTML
  • 迭代 JSON 对象字符串

    我是一个 JavaScript 菜鸟 在创建 json 字符串后 我有一个由 google gson API 创建的 JSON 字符串 我将其传递给我的 javascript 函数 所以在 javascript 变量中我有一个字符串如下 v
  • 如何创建可在 Windows 7 Phone 和 iPhone 上运行的应用程序?

    很清楚单点触控是解决方案的一部分 因为它允许 C 代码在 iPhone 上运行 然而 Mono Touch 包装了 iPhone API 因此不提供通用 API 另一种选择是一个 jave 脚本工具包 它可以在两者上工作并提供在线数据存储
  • 如何在 IBM Watson 聊天机器人对话中添加新行?

    目前 我正在使用 IBM Watson Coversation api 提供的聊天机器人服务 现在我面临一个问题 与在聊天机器人的文本回复中添加新行有关 谁能告诉我该怎么做 在这种情况下 您可以使用HTML为此 内部对话流程为 br 检查我
  • Unity - 如何从不同的场景获取游戏对象?

    首先 我是一个初学者 所以对我要轻松一些 我正在尝试从另一个场景激活和停用游戏对象 游戏中的玩家 基本上 我试图通过停用当前玩家模型来更改游戏场景中的玩家 并在用户按下商店场景中的某个按钮时激活游戏场景中所需的玩家模型 但我无法访问游戏对象
  • 在已安装程序列表中显示发布者名称

    我使用 Wix Toolset v3 11 生成 msi我的 Windows 应用程序的安装程序 如何让发布者名称出现在我的申请条目中设置 gt 应用程序和功能 I noticed that some entries in that lis
  • dplyr 如何按组落后

    我有一个包含交货时间的订单和应收账款的数据框 我可以使用 dplyr 根据组提前时间填写接收栏吗 df lt data frame team c a a a a a b b b b b order c 2 4 3 5 6 7 8 5 4 5
  • 如何在 JSF 中防止双击

    我们有一些搜索页面需要运行大量数据 并且需要一段时间才能完成 当用户单击搜索按钮时 我们希望不允许他们再次提交搜索结果 在 JSF 中是否有进行 双击 检测 预防的最佳实践 PrimeFaces 组件似乎可以做我们想要的事情 因为它会在单击
  • Python请求响应403禁止

    所以我想抓取这个网站 https www auto24 ee我能够毫无问题地从中抓取数据 但今天它给了我 响应 403 我尝试使用代理 将更多信息传递给标头 但不幸的是似乎没有任何效果 我在互联网上找不到任何解决方案 我尝试了不同的方法 之
  • 构建 3D Pandas 数据框

    我在 Pandas 中构建 3D DataFrame 时遇到困难 我想要这样的东西 A B C start end start end start end 7 20 42 52 90 101 11 21 213 34 56 74 9 45
  • 将图像从 Firebase 下载到 Flutter

    有很多将文件上传到 firebase 并获取 downloadUrl 的示例 但我没有发现获取图像的 DownloadURL 并在 Flutter 小部件中使用它的示例 这是与上传文件相关的 final StorageReference r
  • 从 Java 字符串中删除 ✅、

    我有一些字符串 其中包含各种不同的表情符号 图像 符号 并非所有字符串都是英语 其中一些字符串是其他非拉丁语言 例如 railway Cats and dogs I m on Apples Vi sign I m the king Cor
  • Jenkins Pipeline - SVN 轮询

    我有一个 Jenkins 管道模板 它在 Subversion 中使用 Jenkins 文件 Jenkins文件有svn checkout方法来签出真实的应用程序 真实应用程序的svn url是从jenkins环境变量传递的 我需要对实际应
  • Cron 作业在特定时间启动和停止

    是否可以设置一个 cron 作业只在某些日子的晚上工作 例如每个月的第一天下午 3 点到晚上 9 点 我只想在晚上服务器负载较低时进行电子邮件营销活动 是否可以在某个时间运行一个 cron 作业并在某个时间停止它 您可以在晚上 9 点使用第
  • 如何在 Firebase 数据库中解压多层嵌套 JSON

    在我的应用程序中 我会定期有一个 JSON 主题 例如message 然后嵌套在其中是random ID 那么message文本作为随机 ID 内的字符串 但是 我需要破译多个级别的随机 ID 在 Firebase for Swift 中这
  • Cosmos DB 中是否支持使用 OData 进行分页?

    我可以看到通过 SQL API 访问 Azure 中的 Cosmos DB 时支持偏移 限制 但 OData 是否支持此功能 UPDATE 您可以下载my demo在github上 和本文 and 官方文件可以帮助你 我的存储帐户中的数据
  • 根据条件运行中间件 - Laravel

    我有一个中间件 用于检查请求中的特定标头参数并根据该参数发回响应 但我遇到的问题是我不希望这个中间件始终在我的控制器中的函数上运行 我希望如果函数中的条件为真 例如 存储函数 中间件就会运行 我怎样才能实现这个目标 在执行控制器操作之前调用