2016-11-26 4 views
6

Per https://laravel.com/docs/5.3/routing#route-groups, я могу добавить auth промежуточное программное обеспечение следующим образом:Добавление нескольких промежуточного ПО для маршрутизации Laravel

Route::group(['middleware' => 'auth'], function() { 
    Route::get('/', function() { 
     // Uses Auth Middleware 
    }); 

    Route::get('user/profile', function() { 
     // Uses Auth Middleware 
    }); 
}); 

Я также видел промежуточное программное обеспечение добавлено следующим образом:

Route::group(['middleware' => ['web']], function() { 
    // Uses all Middleware $middlewareGroups['web'] located in /app/Http/kernel.php? 
    Route::resource('blog','BlogController'); //Make a CRUD controller 
}); 

Как я могу сделать оба ?

PS. Любые комментарии, дающие представление о том, что делают нижние четыре строки кода, будут оценены

ответ

7

Чтобы назначить промежуточное программное обеспечение для маршрута, вы можете использовать одно промежуточное программное обеспечение (первый фрагмент кода) или группы промежуточного программного обеспечения (второй фрагмент кода). С группами промежуточного программного обеспечения вы одновременно назначаете несколько промежуточных программ. Вы можете найти более подробную информацию о группах промежуточного ПО здесь: https://laravel.com/docs/5.3/middleware#middleware-groups

Чтобы использовать оба (один промежуточного & промежуточного слоя группы), вы можете попробовать это:

Route::group(['middleware' => ['auth', 'web']], function() { 
    // uses 'auth' middleware plus all middleware from $middlewareGroups['web'] 
    Route::resource('blog','BlogController'); //Make a CRUD controller 
}); 
+0

Ах, так 'Route :: группа ([«промежуточного»= > ['web']], function() {}); 'и' Route :: group (['middleware' => 'web'], function() {}); 'выполняет ту же функцию? – user1032531

+0

Кроме того, поэтому первый фрагмент кода не использует групповое промежуточное программное обеспечение? Скрипт включает в себя 'Route :: group (...);' поэтому я бы применил к группе. – user1032531

+3

1. Да 'Route :: group (['middleware' => ['web']], function() {});' и 'Route :: group (['middleware' => 'web'], функция() {}); 'выполняет то же самое – krlv

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