はじめに
Laravelのルーティング(web.php)は、同じ階層のページなどを表示する際では記述をまとめることができます。
よく見かける記述ではありますが、期間を空けて見ると何だったっけ?となることがあったので、この機会に整理しました。
middleware
認証周りなど、ミドルウェアを挟みたい時に使います、
Route::middleware(['first', 'second'])->group(function () {
Route::get('/', function () {
// 1番目と2番目のミドルウェアを使用
});
Route::get('/user/profile', function () {
// 1番目と2番目のミドルウェアを使用
});
});
domain
割り当てるサブドメインを処理するためにも使用できます。
※まだ実務で使ったことがないですね・・・
Route::domain('{account}.example.com')->group(function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
prefix
これが一番使うかもです。
prefix(‘hoge’)を記述すると、hoge/のURLにアクセスができます。
Route::prefix('admin')->group(function () {
Route::get('/users', function () {
// /admin/usersのURLに一致
});
});
name
下の例でいうとRoute::getの中にあり、ビューで ->name('admin.users');
という「名前付きルート」の記述も、共通部分はプレフィックスでまとめることができます。
ドットをつけることをお忘れなく。
Route::name('admin.')->group(function () {
Route::get('/users', function () {
// ルートに"admin.users"が名付けられる
})->name('users');
});
おわりに
記述をスッキリできるので、まとめられるところは積極的に使っていきたいです。
リーダブルを参考にしました。
ルーティング 8.x Laravel
コメント