調度命令時可以創建一種命令管道嗎?Laravel 5命令 - 調度命令管道
例如:
$this->dispatch(new UploadFileCommand)
會叫ValidateFileCommand
,WhateverCommand
。
這就像pipeThrough
但觸發特定的命令。
調度命令時可以創建一種命令管道嗎?Laravel 5命令 - 調度命令管道
例如:
$this->dispatch(new UploadFileCommand)
會叫ValidateFileCommand
,WhateverCommand
。
這就像pipeThrough
但觸發特定的命令。
與某些人交談之後,我意識到自己正在反思這一點。解決方案比我想像的要簡單。要通過命令管道,只是這樣做:
public function whateverMethod(Dispatcher $dispacher) {
$dispached->pipeThrough([]) // arrays with commands
}
Dispacher通過美麗的laravel 5方法注入!
我知道你前一陣子問過這個問題,但我想我會回答。
工匠製作:中間件WhateverPipeline
你將不得不增加
使用DispatchesCommands;
然後
$這個 - >訊(新WhateverCommand());
<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Foundation\Bus\DispatchesCommands;
class WhateverPipeline {
use DispatchesCommands;
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->dispatch(new WhateverCommand());
return $next($request);
}
}
的WhateverCommand必須不被在管道那裏,然後執行的隊列命令。
您可以從內WhateverCommand與
使用DispatchesCommands還派遣任何命令;