LoginSignup
1
2

More than 3 years have passed since last update.

【Laravel】ルートプレフィックスを利用して、見栄えの良いルート定義にする

Last updated at Posted at 2020-08-02

ルートを定義しているroutes/web.phpの見栄えをよくするためにルートプレフィックスを利用するのはいかかでしょうか?

ルートにプレフィックス(接頭辞)を指定しよう

グループ内の全ルートのURIに特定の文字列を付け加えたいとき、prefixメソッドを利用することで、グループ内の各ルートに対し、指定したURIのプレフィックスを付け加えることができます。

routes/web.php
Route::prefix('admin')->group(function () {
    Route::get('users', function () {
        // Matches The "/admin/users" URL
    });
});

上記例では、Route::prefixメソッドにadminを指定することにより、グループ内の各ルートは、すべてURIにadminが付くようになります。

今回の例では、Route::prefix('admin')のグループのなかに、Route::getのURIusersが定義されているので、このルートに適応するアドレスは/admin/usersということになります。

ルート名にも、プレフィックスが付けられる

ルート名もプレフィックスを付けることができます。nameメソッドを使用することで、各ルートへ、指定の文字列をプレフィックスすることができます。

routes/web.php
Route::name('admin.')->group(function () {
    Route::get('users', function () {
        // "admin.users"という名前へ結合したルート…
    })->name('users');
});

上記例では、Rotue::nameメソッドにadminが指定されています。グループ内のルートにはname('users')と定義されたルートがありますが、このルートはadmin.usersという名前へ結合されたルートになっていることに注意しましょう。

また、名前を付けたルートに対してURL生成したい、またはリダイレクトしたい場合は、route関数を使用しましょう。指定した名前付きルートへリダイレクトしたい場合は、return redirect()->route('admin.users');こんな感じでできちゃいます。

参考文献:https://readouble.com/laravel/7.x/ja/routing.html

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2