2015-02-11 206 views

回答

0

與某些人交談之後,我意識到自己正在反思這一點。解決方案比我想像的要簡單。要通過命令管道,只是這樣做:

public function whateverMethod(Dispatcher $dispacher) { 
    $dispached->pipeThrough([]) // arrays with commands 
} 

Dispacher通過美麗的laravel 5方法注入!

1

我知道你前一陣子問過這個問題,但我想我會回答。

工匠製作:中間件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還派遣任何命令;