こちらの記事は以下の書籍を参考にアウトプットとして執筆しました。
PHPフレームワーク Laravel入門 第2版
ユーザ認証
Laravel標準装備の認証機能「Auth」について
ユーザ認証は以下の機能のこという
- ユーザ登録
- ログイン、ログアウト
- ユーザ情報の管理などのホーム画面
- ログインしていないユーザのアクセス制限
- 現在のユーザのログイン状態などを調べるプログラム
これらの機能はLaravelのAuthクラスを使うと一括で実装できる。
Authのセットアップ
Auth機能はLaravelに標準で要されておらず、以下の2つのインストールが必要
名前 | 説明 |
---|---|
laravel/ui | composerでインストール |
npm | Node.jsをインストール |
インストール手順は省略
Userモデルクラス
AuthはDBにusersテーブルを作り、そこにユーザ情報を保存する。
Authの各種メソッド
Auth::user
ログインしているユーザのモデルインスタンス(Usersモデルクラス)を返す。
ログインしていなければnullが返る
Auth::check
現在アクセスしているユーザがログインしているかどうかを確認
返り値 | 意味 |
---|---|
true | ログインしている |
false | ログインしていない |
ログインページ
ログインページはAuthが自動生成する。
ユニットテスト
テスト機能の基本となる
ユニットテスト
アプリ開発におけるプログラムの正常性確認をユニットテストという。
単体テストとも呼ばれ、PHPUnitを利用してテストする。
ユニットテストではテストのスクリプトファイを生成、しそこにテスト内容を書く。
ExampleTest.phpを参考にテスト処理を生成する。
クラス名は冒頭にtest
が入っていればいい
テスト用DBを用意する
本番のDBをテストに使用するのは危険
テスト用のDBを作成しておく。
その後ダミーレコードなどを入れておく。
phpunit.xml
PHPUnitの設定に使用するDBを追記する
SQLiteはファイルパス、MySQLはDB名でOK