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 相关文章推荐
分页显示Oracle数据库记录的类之二
Oct 09 PHP
PHP 常见郁闷问题答解
Nov 25 PHP
在普通HTTP上安全地传输密码
Jul 21 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
Apr 09 PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 PHP
PHP递归算法的详细示例分析
Feb 19 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
PHP从尾到头打印链表实例讲解
Sep 27 PHP
Laravel框架路由管理简单示例
May 07 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文件上传类分享
2014/11/18 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
Django返回json数据用法示例
2016/09/18 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python实现停车管理系统
2018/11/30 Python
wxPython实现列表增删改查功能
2019/11/19 Python
python新手学习使用库
2020/06/11 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
经济与贸易专业应届生求职信
2013/11/19 职场文书
手机促销活动方案
2014/02/05 职场文书
大学生先进事迹材料
2014/02/16 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
工程部岗位职责范本
2015/04/11 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
个人业务学习心得体会
2016/01/25 职场文书
redis三种高可用方式部署的实现
2021/05/11 Redis
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js