Laravelでroutesのweb.phpファイルを分ける方法

Laravelで開発をしていると、システムの成長とともにルーティングのファイルが肥大してくることはよくあるかと思います。
標準ではweb.phpにどんどん追記していくかと思いますが、個人的にはあまり好きではありません。
(もちろん、1つにまとまっていてわかりやすいという意見もありますよね。)
今回はweb.phpだけでなく、他のファイルも指定できるようにする方法をご紹介します。
RouteServiceProviderを設定する
まずはweb.phpがどのようにして設定されているか確認します。
RouteServiceProvider.phpファイルを見ると、以下のような記載があります。
public function boot(): void
{
$this->routes(function () {
Route::middleware('api')
->prefix('api')
->group(base_path('routes/api.php'));
Route::middleware('web')
->group(base_path('routes/web.php')); // 標準で設定されている
});
}
何となく気づくかと思いますが、
->group(base_path('routes/web.php'))
が大事なところです。
例として、管理者画面と一般ユーザーが見る画面を分けるという意味で、以下のように記載したとしましょう。
->group(base_path('routes/web.php'))
->group(base_path('routes/admin.php'));
routes/admin.phpファイルを作成する
あとは特に説明するまでもありませんが、routesディレクトリ内にadmin.phpファイルを作成するだけです。
書き方はweb.phpなどと同じなので割愛します。
システム開発のご相談はお気軽に
要件定義から運用まで、お客様のビジネスに最適なシステムをご提案いたします。
まずはお気軽にご相談ください。
初回相談無料
お見積もり無料
土日対応
今月の見積もり受付、残り2社様です
小さな会社なので、お客様一社一社に丁寧に向き合うため、
同時にお受けできる案件数に限りがございます