2022/02/27
Laravel5.8 までは php artisan make:auth
というコマンドだけでログイン機能を実装することができました。
Laravel6 からはログイン機能(Auth機能)の作成手順が変わりましたね。
今回はLaravel6でのログイン機能の作成についてエントリーします。
本記事でのゴール
完成品のデモは以下になります。
Git Hubにもプッシュしています。
事前準備
すでにローカル環境にてLaradock(Docker)上にLaravelがインストールされているとします。
よくわからない方は以下をご参考ください。
環境
- PHP 7.3
- MySQL 14.14
- Laravel 6.10.1
手順
1.laravel/uiをインストール
Laravel 5.8以前ではフロントエンドフレームワークとしてBootstrapとVueがはじめから利用可能になっていました。
しかし、Laravel 6 からはデフォルトで含まれていません。フロントエンドのスキャフォールディング機能(CRUD)を提供する laravel/ui のコマンドを使用してJavascriptのビルドとCSSのプリプロセッサ設定を生成する必要があります。
laravel/ui とは Javascript のビルドとCSSのプリプロセッサ設定のスキャフォールディングの生成コマンド(php artisan ui vue --auth)を提供するパッケージです。
以下のように composer を使って laravel/ui をインストールします。
/var/www/# composer require laravel/ui
実演
2.artisanコマンドを実行
認証関連のビューファイルの作成をartisanコマンドで生成します。
以下のコマンドを実行すると HomeController
が自動的に作成されます。
# Vueで実装する場合
# php artisan ui vue --auth
# Reactで実装する場合
# php artisan ui react --auth
実演
また、マイグレーションファイルもこの時点で作成されます。
以下のコマンドでマイグレーションファイルを実行します。
# php artisan migrate
マイグレーションについてわからない方は以下をご参考ください。
マイグレーションを実行するとDBのテーブルは以下のようになります。
3.npmパッケージをインストール
Vue
など必要なパッケージを npmコマンド
でインストールします。
NPM についてわからない方は以下をご参考ください。
# npm install
実演
4.npmパッケージをビルド
インストールしたパッケージをビルドします。
npm run
とは npm scripts
と呼ばれるタスク実行機能を呼び出すコマンドです。機能としては package.json 内に書かれたシェルスクリプトを実行するだけです。
# npm run dev
# 本番環境
# npm run production
実演
5.動作確認
laravel6 のログイン機能の実装に関しては以上になります。
次回はシーダーでログイン情報を入れて各画面を確認してみます。
PHPフレームワーク Laravel入門
僕がはじめてLaravelを学習するために参考にしたサイトは、掌田津耶乃(しょうだつやの)さんの libro というサイトです。当時(2016年)、Laravel学習サイトの中でもこのサイトは群を抜いてわかりやすく説明されていたので、とても勉強になったのを覚えています。この本は掌田津耶乃さんが書いた本なので、わかりやすく解説されているだろうと kindle で購入しました。2019年7月の時点でいうと日本国内にて唯一の Laravel の良書と言っても良いかと思います。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要です。PHP自体の知識が乏しい方は独習PHP 第3版をあわせて購入することをお勧めします。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。