2016-08-10 2 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 
} 

Если логика вы собираетесь делать для разных групп различна следует рассмотреть возможность реализации нескольких промежуточное программное вместо передачи имени группы, как параметр просто для разделения обязанностей.

Смежные вопросы