Laravel11で独自のMiddelwareを指定する
2024.05.28 09:00
2024.05.24 15:18

Laravelはバージョン11からMiddlewareの書き方が変わりましたので、
新しいやり方をメモしてみます。
まずはMiddlewareを作成します。
場所はどこでもいいですが、「app/Http/Middleware」にします。
そこにHogeMiddleware.phpを作成します。
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class HogeMiddleware
{
public function handle(Request $request, Closure $next)
{
// 処理をここに書く
return $next($request);
}
}
独自で作成したMiddlewareは自分で登録する必要があります。
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) {
// 独自のMiddlewareを登録
$middleware->web(append:[
App\Middleware\HogeMiddleware::class,
]);
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
これで完了です。
今回は以上です!