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_MySQL教程-第一天
Mar 18 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
Jun 07 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 PHP
php实现的错误处理封装类实例
Jun 20 PHP
django中的ajax组件教程详解
Oct 18 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 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.ini中文版
2006/10/09 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
nodejs事件的监听与触发的理解分析
2015/02/12 NodeJs
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
小程序关于请求同步的总结
2019/05/05 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Php多进程实现代码
2018/05/07 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
python 自定义装饰器实例详解
2019/07/20 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
如何教少儿学习Python编程
2020/07/10 Python
荟萃全球保健品:维他购
2018/05/09 全球购物
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
职称自我鉴定
2013/10/15 职场文书
工厂厂长岗位职责
2013/11/08 职场文书
将相和教学反思
2014/02/04 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
计算机专业毕业生自荐书
2014/06/02 职场文书
安全演讲稿开场白
2014/08/25 职场文书
2014年社区工作总结
2014/11/18 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
伏羲庙导游词
2015/02/09 职场文书
董事长岗位职责
2015/02/13 职场文书