urlのprefixや名前空間、ミドルウェアなどルートごとに設定するのではなくまとめてグループ化して設定できる。
Route::group(['middleware' => 'web'], function () {
Route::get('user/login', 'User\Auth\AuthController@loginForm');
Route::post('user/login', 'User\Auth\AuthController@login');
Route::get('admin/login', 'Admin\Auth\AuthController@loginForm');
Route::post('admin/login', 'Admin\Auth\AuthController@login');
});
これがこうなる↓
Route::group(['prefix' => 'user', 'namespace' => 'User', 'middleware' => 'web'], function () {
Route::get('login', 'Auth\AuthController@loginForm');
Route::post('login', 'Auth\AuthController@login');
});
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'web'], function () {
Route::get('login', 'Auth\AuthController@loginForm');
Route::post('login', 'Auth\AuthController@login');
});
管理者認証が必要なルーティングとかもauth:adminみたいにすればまとめてできる
Route::group(['prefix' => 'admin', 'middleware' => 'auth:admin'], function() {
Route::post('logout', 'Admin\LoginController@logout');
Route::get('home', 'Admin\HomeController@index');
});
prefixは
http://example.com/admin/home
みたいな感じになる