- 1. 概要
- 2. 方法
- 3. bootstrap/app.php
1. 概要
ルーティングを記載するファイルを分割して、それを読み込ませる方法は、「Laravel Framework 10.*」までと「Laravel Framework 11.*」以降で異なるようです。
わたしは、「Laravel Framework 11.*」は、試していないのですが。
「Laravel Framework 12.*」でやってみました。
本ページは、下記のサイトを参考にさせていただきました。
「Laravel11 以降から使い始めた人に必要そうな質問と回答一覧」
2. 方法
何しろ、「Laravel Framework 10.*」までで、編集していた。
app/Providers/RouteServiceProvider.php
というファイルがないので、戸惑いましたが。
方法は、いくつかあるようです。
すなわち。
bootstrap/app.php
を書き換える方法として、2つ。
config/app.php
に、「providers」というモジュールを追加する方法が1つあるらしい。
これは、ようわかっていません。
3. bootstrap/app.php
わたしは、「bootstrap/app.php」を書き換える方法のうち、ひとつを採用して、うまくいきました。
「Laravel Framework 12.3.0」オリジナルの状態の「bootstrap/app.php」がこれです。
<?php
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
//
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
前ページと同様。
routes/extra.php
にルーティングを記載しているものとして、7~12行を下記のように、書き換えます。
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
commands: __DIR__.'/../routes/console.php',
using: function () {
Route::middleware('web')->group(__DIR__.'/../routes/web.php');
Route::middleware('web')->group(__DIR__.'/../routes/extra.php');
},
)
ファイルが複数あれば、12行に続けて挿入していけばいいし。
「routes」の下にサブディレクトリを作成しても、その通りにかけます。
|