LaravelのRoute設定を効率的にする方法をご紹介していきます。
一定慣れている方であれば、
・ディレクトリをまとめるために:prefix
・認証処理をまとめるために: middleware(‘auth’)
などを使うかたもいると思います。
これらを使う際に、同じディレクトリ階層だけども、認証が必要なページと、不要なページどちらもある、といったケースでの記述方法を紹介していきます。
やり方は色々とあります。
例えば、下記です。
Route::prefix('/article')->name('rec.')->group(function () { Route::get('/top', 'ArticleController@rec_top')->name('top'); Route::get('/tag/{tag_id}', 'ArticleController@tag')->name('tag'); Route::middleware('auth')->group(function () { Route::get('/postadd', 'ArticleController@postadd')->name('postadd'); Route::post('/postdone', 'ArticleController@postdone')->name('postdone'); }); });
まずは、下記のprefixで括ってしまいます。
Route::prefix('/article')->name('rec.')->group(function () { }
その中に、
Route::middleware('auth')->group(function () { }
括られるものと、括られないもので、認証あり、なしを分けていきます。