#はじめに
新しい Laravel アプリケーションの構築をスムーズに始められるように、認証とアプリケーションのスターターキットを用意しています。これらのキットは、ユーザー登録や認証に必要なルート、コントローラー、ビューを自動でスキャフォールドします。
スターターキットの利用は必須ではありません。Laravel の新規インストールから自由にアプリケーションを構築しても問題ありません。どちらの場合でも、素晴らしいものが作れると確信しています!
#Laravel Breeze
Laravel Breeze は、ログイン、登録、パスワードリセット、メール認証、パスワード確認など、Laravel の認証機能をシンプルに実装した最小限のスターターキットです。さらに、ユーザーが名前、メールアドレス、パスワードを更新できるシンプルな「プロフィール」ページも含まれています。
Laravel Breeze のデフォルトのビュー層は、Blade テンプレートとTailwind CSSで構成されています。加えて、Breeze は Livewire または Inertia ベースのスキャフォールドを提供し、Inertia ベースの場合は Vue または React を選択できます。
#Laravel ブートキャンプ
Laravel に不慣れな方は、ぜひ Laravel ブートキャンプに参加してください。Breeze を使って最初の Laravel アプリケーションを作る手順を案内します。Laravel と Breeze の全体像を理解するのに最適です。
#インストール
まずは新しい Laravel アプリケーションを作成し、データベースを設定してマイグレーションを実行してください。新規アプリケーションができたら、Composer を使って Laravel Breeze をインストールできます。
composer require laravel/breeze --dev
Composer で Laravel Breeze パッケージをインストールしたら、breeze:install Artisan コマンドを実行してください。このコマンドは認証用のビュー、ルート、コントローラーなどのリソースをアプリケーションに公開します。Laravel Breeze はすべてのコードをアプリケーションに公開するため、機能や実装を完全に管理・把握できます。
breeze:install コマンドは、使用したいフロントエンドスタックとテストフレームワークを選択するよう促します。
php artisan breeze:install
php artisan migrate
npm install
npm run dev
#Breeze と Blade
デフォルトの Breeze スタックは Blade スタックで、シンプルな Blade テンプレートを使ってフロントエンドをレンダリングします。Blade スタックは、breeze:install コマンドを追加引数なしで実行し、Blade フロントエンドスタックを選択することでインストールできます。スキャフォールドが完了したら、アプリケーションのフロントエンド資産をコンパイルしてください。
php artisan breeze:install
php artisan migrate
npm install
npm run dev
その後、ブラウザでアプリケーションの /login または /register URL にアクセスできます。Breeze のすべてのルートは routes/auth.php ファイルに定義されています。
アプリケーションの CSS と JavaScript のコンパイルについては、Laravel のVite ドキュメントを参照してください。
#Breeze と Livewire
Laravel Breeze は Livewire ベースのスキャフォールドも提供します。Livewire は PHP のみで動的かつリアクティブなフロントエンド UI を構築できる強力な方法です。
Livewire は主に Blade テンプレートを使うチームに適しており、Vue や React のような JavaScript ベースの SPA フレームワークよりシンプルな代替手段を求める場合に最適です。
Livewire スタックを使うには、breeze:install Artisan コマンド実行時に Livewire フロントエンドスタックを選択してください。スキャフォールドが完了したら、データベースマイグレーションを実行してください。
php artisan breeze:install
php artisan migrate
#Breeze と React / Vue
Laravel Breeze は Inertia ベースのフロントエンド実装を通じて React と Vue のスキャフォールドも提供します。Inertia を使うと、従来のサーバーサイドルーティングとコントローラーを活用しながら、モダンなシングルページ React/Vue アプリケーションを構築できます。
Inertia は React と Vue のフロントエンドの強力な機能と、Laravel の高いバックエンド生産性、そして高速な Vite コンパイルを組み合わせて楽しめます。Inertia スタックを使うには、breeze:install Artisan コマンド実行時に Vue または React フロントエンドスタックを選択してください。
Vue または React フロントエンドスタックを選択すると、Breeze インストーラーは Inertia SSR や TypeScript サポートの有無も尋ねます。スキャフォールドが完了したら、アプリケーションのフロントエンド資産をコンパイルしてください。
php artisan breeze:install
php artisan migrate
npm install
npm run dev
その後、ブラウザでアプリケーションの /login または /register URL にアクセスできます。Breeze のすべてのルートは routes/auth.php ファイルに定義されています。
#Breeze と Next.js / API
Laravel Breeze は、Next、Nuxt などのモダンな JavaScript アプリケーションを認証できる API もスキャフォールドできます。始めるには、breeze:install Artisan コマンド実行時に API スタックを選択してください。
php artisan breeze:install
php artisan migrate
インストール中に Breeze は .env ファイルに FRONTEND_URL 環境変数を追加します。この URL は JavaScript アプリケーションの URL で、ローカル開発時は通常 http://localhost:3000 です。また、APP_URL は http://localhost:8000 に設定してください。これは serve Artisan コマンドのデフォルト URL です。
#Next.js 参照実装
最後に、このバックエンドをお好みのフロントエンドと組み合わせる準備が整いました。Breeze フロントエンドの Next 参照実装はGitHub で公開されています。このフロントエンドは Laravel がメンテナンスしており、従来の Blade や Inertia スタックと同じユーザーインターフェースを備えています。
#Laravel Jetstream
Laravel Breeze はシンプルで最小限のスタートポイントを提供しますが、Jetstream はより強力な機能と追加のフロントエンド技術スタックを備えています。Laravel に初めて触れる方は、まず Laravel Breeze で基礎を学んでから Laravel Jetstream に進むことをおすすめします。
JetstreamはLaravel向けに美しく設計されたアプリケーションのスキャフォールディングを提供します。ログイン、登録、メール確認、二要素認証、セッション管理、Laravel SanctumによるAPIサポート、そしてオプションのチーム管理が含まれます。JetstreamはTailwind CSSを使用して設計されており、フロントエンドのスキャフォールディングとしてLivewireまたはInertiaのいずれかを選択できます。
Laravel Jetstream のインストールに関する完全なドキュメントは、公式 Jetstream ドキュメントでご覧いただけます。