本記事は執筆時点(2023年08月08日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。
Laravel Breezeとは?
「Laravel Breeze」はLaravelのプロジェクトにログイン認証機能を実装することができるパッケージです。
登録・ログイン・メール認証・パスワードリセット・登録内容の変更といった一通りの機能がコマンドだけで簡単に導入できます。
Laravel Breezeの導入手順
このページではLaravelのインストール直後の次のようなLaravelの初期画面(ウェルカムページ)が表示できる段階から説明をスタートします。
Laravelの環境構築がまだの場合はこちらのページを参考にしてインストールし、プロジェクトを作成して下さい。(データベースの作成とenvファイルでの設定まで完了させてください)
Laravelをインストールして開発環境構築する手順
LaravelはPHPのフレームワークの中でも特に人気のあるものの一つです。今回はWindowsPC(ローカル環境)にLaravelをインストールして開発環境を構築する手順を解説します...【もっと読む】
作業環境は以下の通りです。
- Windows10
- XAMPP for Windows 8.2.4
- Composer 2.5.5
- Laravel 9.52.12
- プロジェクト名「project-sample」
Node.jsをインストールする
Node.jsは本来クライアント側(Webブラウザ上など)での動作がメインであるJavascriptを、サーバー側でも動作できるようにした開発環境です。
Laravel Breezeを利用するためにはNode.jsも導入する必要があるため、下記の公式サイトからファイルをダウンロードしてインストールを実施してください。
Node.jsのダウンロードページはこちらインストールウィザードの手順に沿ってインストールを完了させてください。
コマンドプロンプトで「npm -v」と入力して、次のようにバージョンが表示されたらインストール完了です。
c:\xampp>npm -v 9.5.1
Laravel Breezeをインストールする
ここまでの準備が整ったらBreezeのインストールしていきます。
コマンドプロンプトでプロジェクトディレクトリに移動し、次のコマンドを実行してBreezeのパッケージをインストールします。
compsoer require laravel/breeze
続いてコマンドでBreezeの関連ファイルをインストールします。
php artisan breeze:install
「Which stack would you like to install?」と聞かれるので、「blade」の「0」を入力します。(その後の2つの質問も両方とも「no」で大丈夫です)
次のように表示されたら完了です。
INFO Breeze scaffolding installed successfully.
続いてnpmコマンドを実行します。npmは「Node Package Manager」の略で、Javascriptのライブラリのインストールとコンパイルを行います。
npm install && npm run dev
Migrationを行いテーブルを作成する
Laravelではマイグレーションファイルを用いてコマンドからデータベース内にテーブルを作成することができます。
次のコマンドを実行すると、データベース内に「users」などBreezeの認証機能に関するテーブルが生成されます。
php artisan migrate
新規登録とログイン画面を確認
ここまでの手順が完了すると、Laravelのウェルカムページの右上に「login」「register」というリンクが追加されます。
registerページでは新規登録ができ、loginページでログインすると会員ページが表示されるようになります。
Breezeを日本語化する
新規登録ページ・ログインページはすべて英語表記になっていますので日本向けのサービスを作る際は日本語化させておきます。
以下のコマンドを順番に実行してBreezeの日本語化パッケージをインストールします。
composer require askdkc/breezejp --dev
php artisan breezejp
「日本語ファイルのインストールが完了しました!」と表示されたら完了です。
再度、新規登録ページ・ログインページを開くと日本語表記に変更されていることが確認できます。
まとめ
以上がLaravel Breezeでログイン認証機能を実装する方法です。
自作するには労力の掛かるログイン認証機能をわずかなコマンド入力だけで導入することができるので便利です。