3. ログイン認証
ログイン認証ページ作成
Laravelのログイン認証
Laravelでは面倒なログイン認証処理は、いくつかのスカフォルド(テンプレート)で作成できます。
種類
- Laravel Breeze
- Laravel Jetstream
- Laravel Fortify
Laravel Breezeとは
「Laravel Breeze」はLaravelのスカフォールドの1つで、基本的な認証機能をプログラムなしで初期導入できます。「Jeststream」と比較すると開発が簡単で、Laravelの公式でも慣れていない開発者に推奨しています。
Laravel Breezeの利用方法
Laravel Breezeインストール
composer
Laravelプロジェクトを作成したら、composerコマンドで「Laravel Breeze」をインストールします。
ターミナル
composer require laravel/breeze --dev
artisan
「Laravel Breeze」をインストールしたら、artisanコマンドでインストールします。
ターミナル
php artisan breeze:install
各設問では「blade」を選択し、その他はデフォルト(no)で進めていきます。
Which stack would you like to install?
blade ........................................ 0
react ........................................ 1
vue .......................................... 2
api .......................................... 3
❯ 0
Would you like to install dark mode support? (yes/no) [no]
❯
Would you prefer Pest tests instead of PHPUnit? (yes/no) [no]
❯
インストールが完了しました。
トップページ確認
インストールが完了したら、ブラウザでトップページを確認してましょう。「Log in」「Register」リンクが表示されていれば成功です。
Vite
Viteとは
Vite(ヴィティ)は、Webアプリケーション開発の高速で軽量なビルドツールです。主にJavaScriptフレームワークやライブラリや開発サーバとして利用されます。
Vue.jsの標準ビルドツール
Viteは、JavaScriptフレームワークVue.jsプロジェクトのデフォルトのビルドツールで、Vue.jsアプリケーションの開発において特に便利です。
Laravelのビルドツール
従来のLaravelでは、Webpackというビルドツールを利用していましたが、Viteは高速なビルドができるため、「Laravel9.x」からVite採用されました。
npmコマンド
「package.json」のスクリプトで、devに対してviteコマンドが設定されています。
package.json
"scripts": {
"dev": "vite",
"build": "vite build"
},
よってnpmコマンドで、JSに関するフロントエンドを更新できます。
npm run dev
データベース設定
「.env」で設定
あらかじめ MySQLに新規DB「sample_laravel」を作成しておき、「.env」でデータベース設定します。
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_sample
DB_USERNAME=root
DB_PASSWORD=
- データベース名:laravel_sample
- ユーザ名:root
- パスワード:なし ※ユーザ名、パスワードは、本番ではセキュリティに注意して設定してください
DBマイグレート
DB接続設定をしたら、DBマイグレートをします。マイグレーションファイルは、LaravelとBreezeであらかじめ用意されています。
ターミナル
php artisan migrate
DBマイグレートが成功しました。
結果
Creating migration table .............................................14ms DONE
INFO Running migrations.
2014_10_12_000000_create_users_table ..................................... 24ms DONE
2014_10_12_100000_create_password_resets_table ........................... 19ms DONE
2019_08_19_000000_create_failed_jobs_table ............................... 7ms DONE
2019_12_14_000001_create_personal_access_tokens_table .................... 12ms DONE
テーブル確認
DB管理ツールでテーブルが作成されていることを確認します。