作业中间件将加入 Laravel 6
发布日期:作者: Paul Redmond
Taylor Otwell 在 Laravel 6 中添加了对排队作业使用作业特定中间件的功能
这个 [拉取请求] 添加了一种简单的方法来为排队作业使用作业特定中间件。全局作业中间件实际上已经可以通过在应用程序启动过程中在服务提供者中调用
Bus::pipeThrough([])
来实现…这些中间件提供了一个方便的位置,可以在作业执行之前用一些逻辑来包装它们。
您可以通过在作业类中指定一个 middleware()
方法来定义中间件,该方法返回一个中间件对象的数组。从拉取请求中,这里是一个示例
public function middleware(){ return [new SomeMiddleware];}
这里是一个中间件类的示例
class SomeMiddleware{ public function handle($command, $next) { // Do something... return $next($command); }}
您也可以在调度作业时指定中间件
SomeJob::dispatch()->through([new SomeMiddleware]);
此功能将成为 Laravel 6 的一部分,将在本月晚些时候发布。 Laravel v6 已在 上个月的 Laracon VII 上发布。这是 Laravel 的下一个主要版本,预计将在 2019 年 8 月发布。
要了解有关作业特定中间件的代码实现的更多信息,请查看 拉取请求 #29391。如果您想要了解一些背景信息,原始想法来自 laravel/ideas #1356。