99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

命令管道

2018-02-24 15:52 更新

在命令被派發(fā)到處理器之前,你也可以將它通過(guò)"命令管道"傳遞到其他類(lèi)去。命令管道操作上如 HTTP 中間件,除了是專(zhuān)門(mén)來(lái)給命令用的,例如,一個(gè)命令管道能夠在數(shù)據(jù)庫(kù)事務(wù)處理期間包裝全部的命令操作,或者僅作為執(zhí)行紀(jì)錄。

要將管道添加到 bus,只要從App\Providers\BusServiceProvider::boot 方法調(diào)用調(diào)用員的pipeThrough 方法:

$dispatcher->pipeThrough(['UseDatabaseTransactions', 'LogCommand']);

一個(gè)命令管道被定義在 handle 方法,就如個(gè)中間件:

class UseDatabaseTransactions {

    public function handle($command, $next)
    {
        return DB::transaction(function() use ($command, $next)
        {
            return $next($command);
        });
    }

}

命令管道是透過(guò) IoC 容器來(lái)達(dá)成,所以請(qǐng)自行在構(gòu)造器類(lèi)型提示所需的依賴(lài)。

你甚至可以定義一個(gè) 閉包 來(lái)作為命令管道:

$dispatcher->pipeThrough([function($command, $next)
{
    return DB::transaction(function() use ($command, $next)
    {
        return $next($command);
    });
}]);
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)