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安全性需要注意的几点事项
Jul 17 PHP
php数组索引的Key加引号和不加引号的区别
Aug 19 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 PHP
PHP实现自动对图片进行滚动显示的方法
Mar 12 PHP
php中使用sftp教程
Mar 30 PHP
php获取网页里所有图片并存入数组的方法
Apr 06 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP封装的完整分页类示例
Aug 21 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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中文汉字验证码
2007/04/08 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
浅谈JavaScript之事件绑定
2013/07/08 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python 读取竖线分隔符的文本方法
2018/12/20 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python实现文字版扫雷
2020/04/24 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
简单了解如何封装自己的Python包
2020/07/08 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
对孩子的寄语
2014/04/09 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
工作年限证明范本
2015/06/15 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书