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日历程序
Dec 06 PHP
PHP 的 __FILE__ 常量
Jan 15 PHP
php UTF-8、Unicode和BOM问题
May 18 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 PHP
php通过正则表达式记取数据来读取xml的方法
Mar 09 PHP
Yii框架日志记录Logging操作示例
Jul 12 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 PHP
thinkphp5 路由分发原理
Mar 18 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正则表达式使用的详细介绍
2013/04/27 PHP
destoon之一键登录设置
2014/06/21 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
python简单猜数游戏实例
2015/07/09 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
python程序封装为win32服务的方法
2021/03/07 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
Python标准库itertools的使用方法
2020/01/17 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
股份合作协议书范本
2014/04/14 职场文书
2014年党务公开方案
2014/05/08 职场文书
企业晚会策划方案
2014/05/29 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
ES6 解构赋值的原理及运用
2021/05/25 Javascript