Laravel 6 将新增为指定队列任务设置中间件的功能


Posted in PHP onAugust 06, 2019

Taylor Otwell 在 Laravel 6 中新增了为指定队列任务设置中间件的能力,以便我们在执行某些队列任务之前先执行一些业务逻辑:

This [pull request] adds an easy way to have job specific middleware for queued jobs. Global job middleware were actually already possible by calling Bus::pipeThrough([]) in a service provider during the application boot process…These middleware provide a convenient location to wrap jobs in some logic before they are executed.

我们可以在 Job 类中定义 middleware() 方法来设置对应的中间件,该方法返回的是中间件对象实例数组,因此可以定义多个中间件:

public function middleware()
{
   return [new SomeMiddleware];
}

下面是中间件的示例代码,与之前的中间件定义并无大的区别,只是将 $request 参数替换成了 $command

class SomeMiddleware
{
  public function handle($command, $next)
  {
    // Do something...

    return $next($command);
  }
}

此外,还可以在分发任务时动态指定中间件,这些中间件会自动和定义在该任务类的 middleware() 方法返回的中间件合并:

SomeJob::dispatch()->through([new SomeMiddleware]);

该特性将会在本月底发布的Laravel 6 中提供,你可以在这个 Pull Request 中查看更多细节。

总结

以上所述是小编给大家介绍的Laravel 6 将新增为指定队列任务设置中间件的功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
实用函数3
Nov 08 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
php类的定义与继承用法实例
Jul 07 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
浅谈PHP中try{}catch{}的使用方法
Dec 09 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
解决laravel资源加载路径设置的问题
Oct 14 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
详解PHP设计模式之依赖注入模式
May 25 PHP
Yii框架核心组件类实例详解
Aug 06 #PHP
PHP使用Session实现上传进度功能详解
Aug 06 #PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 #PHP
PHP中的自动加载操作实现方法详解
Aug 06 #PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 #PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 #PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 #PHP
You might like
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
js对象的复制继承实例
2015/01/10 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
chosen实现省市区三级联动
2018/08/16 Javascript
Javascript的this详解
2019/03/23 Javascript
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python3实现弹弹球小游戏
2019/11/25 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
Python 实现一个简单的web服务器
2021/01/03 Python
html5 标签
2009/07/16 HTML / CSS
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
会计自我鉴定范文
2013/10/06 职场文书
毕业生教师求职信
2013/10/20 职场文书
法学专业毕业生自荐信范文
2013/12/18 职场文书
明星员工获奖感言
2014/08/14 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
小学运动会开幕词
2016/03/04 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
Python中的程序流程控制语句
2022/02/24 Python
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL