【Laravel初心者】バージョン11でミドルウェアを設定してみた

【Laravel初心者】バージョン11でミドルウェアを設定してみたのアイキャッチ

このページにはプロモーションが含まれています。

目次
プログラミング言語の人気オンラインコース

はじめに

こんにちは!Webアプリ開発に向けて勉強中のはなまると申します。

私は『Laravelの教科書バージョン10』(加藤じゅんこ著・ソシム)を使って勉強しています。

Laravelのバージョンによって、ちがいがあり、バージョンの変更に合わせて

ミドルウェアを設定してみたのでご参考になればと思い、記事にしました。

学習に使用した書籍と

【Laravelの教科書】Laravel11 対応サポートガイドはこちらよりご覧ください。

created by Rinker
¥3,300 (2024/11/04 10:59:49時点 楽天市場調べ-詳細)

【Laravelの教科書】Laravel11 対応サポートガイド

バージョンの確認方法

Laravelのバージョンは以下のコマンドで確認できます。

Sail環境の場合

sail php artisan --version

または

sail php artisan -V

Sail環境ではない場合

php artisan --version

または

php artisan -V

本稿執筆時点でのバージョンは、Laravel Framework 11.7.0でした。

ミドルウェアの設定

Webアプリにログインしていない時に、welcomeページにアクセスすると

ログインページにリダイレクトされるようにしたい

教科書の中ではKernel.phpで設定することになっていますが、

バージョン11では、該当のフォルダやファイルがない!

バージョンが異なるためバージョン11に合わせる必要があります。

そこで【Laravelの教科書】Laravel11 対応サポートガイドや

他のサイトを調べてコードを追加で書いてみました。

bootstrap/app.php

<?php

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use Illuminate\Auth\Middleware\Authenticate; //追加

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__ . '/../routes/web.php',
        commands: __DIR__ . '/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) { 
        $middleware->alias([
            'auth' => Authenticate::class
        ]);
    }) //追加
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })->create();

web.php

<?php

use App\Http\Controllers\ProfileController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\TestController;
use App\Http\Controllers\PostController;


Route::get('/test', [TestController::class, 'test'])->name('test');

Route::get('/', function () {
    return view('welcome');
})->middleware('auth'); //追加

Route::get('/dashboard', function () {
    return view('dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');

Route::middleware('auth')->group(function () {
    Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
    Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
    Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
});

Route::get('post/create', [PostController::class, 'create']);

Route::post('post', [PostController::class, 'store'])
    ->name('post.store');
Route::get('post', [PostController::class, 'index']);

require __DIR__ . '/auth.php';

ログイン画面へリダイレクト成功です!

laravel ログイン画面の画像

おわりに

今回はLaravelバージョン11でミドルウェアの設定をしました。

学習に使用した教科書は、わかりやすくかみ砕いた解説と

豊富なイラストで、親しみやすい一冊です。

  • 初心者やフレームワークがはじめての方
  • じっくり理解しながら取り組みたい方にもオススメです!
created by Rinker
¥3,300 (2024/11/04 10:59:49時点 楽天市場調べ-詳細)

最後までお読みいただきありがとうございました!

よかったらシェアしてください!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

フリーランスとしてWeb制作をしています。
Webアプリ開発・セキュリティの勉強中です。
学んだことをアウトプットしてみたいと思い、ブログでの発信に挑戦中!
[保有資格:基本情報技術者]

コメント

コメントする

CAPTCHA


目次