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 相关文章推荐
dede全站URL静态化改造[070414更正]
Apr 17 PHP
php5新改动之短标记启用方法
Sep 11 PHP
PHP 函数语法介绍一
Jun 14 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
smarty缓存用法分析
Dec 16 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
Jun 07 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
PHP实现微信提现功能(微信商城)
Nov 21 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发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
php数组去除空值函数分享
2015/02/02 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
Python的迭代器和生成器
2015/07/29 Python
如何将python中的List转化成dictionary
2016/08/15 Python
django 常用orm操作详解
2017/09/13 Python
wxPython之解决闪烁的问题
2018/01/15 Python
python如何对实例属性进行类型检查
2018/03/20 Python
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
会计应聘求职信范文
2013/12/17 职场文书
土木工程专业推荐信
2014/02/19 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
优秀班主任材料
2014/12/16 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python