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社様です

小さな会社なので、お客様一社一社に丁寧に向き合うため、
同時にお受けできる案件数に限りがございます

お問い合わせ・ご相談
先月32件のご相談

お探しの情報は見つかりましたか?

ご不明な点やご相談したいことがございましたら、
お気軽にお問い合わせください。

無料相談 オンライン対応 営業電話なし
お問い合わせはこちら