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 相关文章推荐
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
php 远程图片保存到本地的函数类
Dec 08 PHP
PHP下对字符串的递增运算代码
Aug 21 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
如何打开php的gd2库
Feb 09 PHP
PHP设计模式之工厂模式详解
Oct 24 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
laravel框架与其他框架的详细对比
Oct 23 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
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
python线程join方法原理解析
2020/02/11 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
Delphi软件工程师试题
2013/01/29 面试题
销售总监工作职责
2013/11/21 职场文书
班组长岗位职责
2014/03/03 职场文书
专家推荐信模板
2014/05/09 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
影视广告专业求职信
2014/09/02 职场文书
优秀教师单行材料
2014/12/16 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书