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之第九天
Oct 09 PHP
利用static实现表格的颜色隔行显示
Oct 09 PHP
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
php输入流php://input使用浅析
Sep 02 PHP
php数组去除空值函数分享
Feb 02 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
Apr 20 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
php版微信小店调用api示例代码
Nov 12 PHP
php tpl模板引擎定义与使用示例
Aug 09 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+xslt在windows平台上
2006/10/09 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
php多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
初学Javascript的一些总结
2008/11/03 Javascript
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
详解Python编程中包的概念与管理
2015/10/16 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
Python之Sklearn使用入门教程
2021/02/19 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
商务英语毕业生自荐信范文
2013/11/08 职场文书
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
英文自荐信格式
2013/11/28 职场文书
幼儿园中班新学期寄语
2014/01/18 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
清明节寄语2015
2015/03/23 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
在redisCluster中模糊获取key方式
2021/07/09 Redis