2016-08-10 12 views
3

Laravelミドルウェアの現在のルートの親ルートグループを取得する方法はありますか?ミドルウェアのlaravel現在のルートグループを取得

public function handle($request, Closure $next, $guard = null) 
{ 
    // here I mean 
} 
+0

あなたのルートが何であるか、そして最終結果として期待しているものの例を挙げてください。 – TheFallen

答えて

2

ルートからグループを取得することはできません。特に、他のグループ内のグループをネストすることはできません。

現在の要求があなたのミドルウェアにパラメータを追加することです属するグループ伝えることができるようにする最も簡単な方法 - ここでは詳細についてのドキュメントを参照してください。https://laravel.com/docs/5.2/middleware#middleware-parameters

まず、あなたのハンドルでパラメータを宣言()方法:グループにミドルウェアを割り当てるとき

public function handle($request, Closure $next, $group = null) 
{ 
    // your logic here 
} 

そして、あなたは、パラメータとしてグループ名を渡すことができます:

Route::group(['middleware' => 'yourmiddleware:groupname'], function() { 
    // your routes go here 
}); 

は、その後、あなたのミドルウェアには、グループ名に基づいてさまざまなアクションを渡さないことができます。

if ($group === 'groupname') { 
    // some custom logic here 
} 

を使用すると、別のグループのために行うことを計画ロジックが異なる場合は、あなたのように、複数のミドルウェアを実装する代わりに、グループ名を渡すことを検討すべきです責任を分離しておくためのパラメータ。

関連する問題