
今回はLaravelのルーティングのカスタマイズについてです。
ルーティングに名前を付けたり、Route::resource()で生成されるルーティングの一部を除外したりする方法を記載します。
web.phpの編集
Laravelでのルーティングは routes/web.php に記載します。
今回は ArticleControllerのindexアクションをルートに設定し、さらに、CURDをRoute::resource()で追加します。
Route::get('/', 'ArticleController@index'); Route::resource('/articles', 'ArticleController');
ルーティングの確認
URIが/のものと、articles.indexの2つが生成されています。
/もarticles.indexもArticleControllerのindexアクションに飛びます。
名前設定と除外
routes/web.phpを以下のように編集します。
Route::get('/', 'ArticleController@index')->name('articles.index');; Route::resource('/articles', 'ArticleController')->except(['index']);
1行目は/にarticles.indexという名前を付けています。
2行目は自動的に生成されるCURDのアクションからindexを除外しています。
ルーティングリストを表示してみます。
# php artisan route:list
/の名前にarticles.indexが設定されました。
ArticleのIndexアクションへのルーティングが一つになりました。
これですっきりとしたルーティングにすることができました。