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函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
比较完整的微信开发php代码
Aug 02 PHP
PHP编程求最大公约数与最小公倍数的方法示例
May 29 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
Apr 21 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 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
php利用smtp类实现电子邮件发送
2015/10/30 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
JavaScript使用cookie
2007/02/02 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
JS实现将数字金额转换为大写人民币汉字的方法
2016/08/02 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
Python字符串切片操作知识详解
2016/03/28 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Python中最大递归深度值的探讨
2019/03/05 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
出纳的岗位职责
2013/11/09 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
小学生学习感言
2014/03/10 职场文书
小学班主任寄语大全
2014/04/04 职场文书
2014个人年度工作总结
2014/12/15 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle