前回は コチラ
Laravel に変更します
- Java(Spring) ではなく PHP のスキルが必要になり、復習のため
- テーブル定義は前回のものから変更しません
- が、user テーブルの変更は必須なので後で更新する
- 今回の記事ではチュートリアルに即したログイン画面の実装をしていきます
- 記事の体裁は前回を踏襲
その他も変更します
- DB は PostgreSQL にします
- Laravel の開発環境構築は コチラ にて解説
- docker-compose.yml 等は github/sosobl/env-laravel にて
ログインを実装してみよう
-
laravel-admin を使用します
- 他のライブラリも検討しましたが、ドキュメントの多さとそこまで複雑なことをやる必要もないため、本ライブラリを選定しました
- ログイン後のダッシュボード画面も付いてくるのが助かる
-
以下ドキュメントよりインストール実施
-
やったこと(コマンドログ)
$ composer require encore/laravel-admin
$ php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
-
/config/app.php
の timezone をAsia/Tokyo
に、locale をja
に修正 -
$ php artisan admin:install
- これをやると初期アカウントの作成等のシーディングをしてくれる
-
つまった点
-
SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "sessions" does not exist LINE 1
- 解決策
- 以下コマンドを実行し sessions テーブルを作成し、サーバー再起動
$ php artisan session:table
- 解決策
-
-
動作確認
(備忘録)ログインを実装してみよう(JetStream)
-
※ laravel-admin を使用した方が色々と捗るので、以下の記事は 備忘録として 残しておりますが以降は使用しません
- 一般ユーザーのような階層を設ける場合は使うかも
- 以下チュートリアルを行う
- 使用するライブラリは Laravel Jetstream にしました
- コマンド打ってインストールするだけで以下機能が追加されるため(簡単)
- ログインフォーム
- 認証
- 新規ユーザー登録
- パスワード問い合わせ
- チーム管理(一応)
- API サポート(一応)
- インストール方法
-
$ composer require laravel/jetstream
- Laravel Jetstream の有効化
-
$ php artisan jetstream:install livewire --teams
- Laravel Jetstream のインストール(Livewire )
$ npm install && npm run dev
$ php artisan migrate
$ php artisan vendor:publish --tag=jetstream-views
- 日本語化
- https://github.com/Laravel-Lang/lang/ から zip ダウンロード
- zip を解凍し lacales/ja 内のファイルをプロジェクト内の resources/ja にコピー、ja.json を resources/ にコピー
- config/app.php の locale を 'ja' に変更
-
- インストール方法詳細は後ほど追記したい
- コマンド打ってインストールするだけで以下機能が追加されるため(簡単)