【Laravel】web.phpを分割する2つの方法について


はるか
Laravelのルート、整理が必要。膨らむと、管理が面倒。

ふゅか
そうね!だから、web.phpを分割して管理する方法を解説するのね!
目次
1. Laravelでルート定義を整理・管理する2つの方法
Laravelでルート定義が増えると、web.php
やapi.php
が煩雑・肥大化して、管理が難しくなることがあります。この問題を解決するために、本記事では、以下の2つの方法について詳しく解説します。
- require_onceを活用する方法
- RouteServiceProviderを活用する方法
2. require_onceを利用して分割する方法
Laravelでは、require
またはrequire_once
を使ってルート定義を別ファイルに分割できます。この方法はシンプルで、すぐに導入できるのが特徴です。

ふゅか
「require_once」を使う方法って、どんな感じ?簡単なのかな?

はるか
シンプル。ファイルを分割。
require_once
で読み込むだけ。2.1. 手順
routes
ディレクトリに新しいファイルを作成します(例:custom_routes.php
)。custom_routes.php
にルートを定義します。web.php
でrequire_once
を使用してファイルを読み込みます。
2.2. コード例
2.2.1. 新しいルートの定義
まず、routes
ディレクトリ内にcustom_routes.php
というファイルを作成し、以下のようにルートを定義します。
このコードでは、/customにアクセスした際に、This is a custom route.というメッセージが表示されるようしています。
2.2.2. web.phpの編集
次に、Laravelの既存ルートが定義されているweb.php
ファイルを開き、require_once
を使ってcustom_routes.php
を読み込みます。
これで、web.php
の中でcustom_routes.php
に定義したルートも動作するようになります。実際に、ルートに移動すると、
3. RouteServiceProviderを活用する方法
RouteServiceProvider.php
は、Laravelの標準機能でルート管理を効率化します。用途別にルートファイルを登録したり、ミドルウェアや名前空間を簡単に適用できるのが特徴です。

はるか
次は「RouteServiceProvider」。ミドルウェア適用やprefixの追加も簡単。

ふゅか
へぇ~!用途別に整理できるのね。
3.1. 手順
routes
ディレクトリにカスタムルートファイルを作成します。先ほどのように、custom_routes.phpを利用します。RouteServiceProvider.php
内のroutes()
メソッドでカスタムルートを登録します。
3.2. コード例
3.2.1. routes/custom_routes.php
以下はカスタムルートファイルの例です。
3.2.2. app/Providers/RouteServiceProvider.php
次に、RouteServiceProvider
内で、カスタムルートファイルを登録します。以下のコードでは、web
ミドルウェアを適用し、routes/custom_routes.php
を新たにグループとして追加しています。
PR