Pocket

Laravel5.6系で試しました

まずはLaravelのバージョンの確認。

ユーザー認証機能の作成

まっさらなLaravelプロジェクトを作って実装してみます。まずはユーザー認証機能を作成します。

コマンドが成功するとファイルが追加されたり追記されたりします。

ルート情報への追記

/routes/web.phpファイルに以下のコードが追加されました。

これは、ログインやログアウトなどのユーザー認証関連のルート情報をまとめたもののようです。/vendor/laravel/framework/src/Illuminate/Routing/Router.phpの1130行目付近にある以下の関数が動作します。

もう1行は名前付きルートの設定です。

コントローラーの追加

/app/Http/Contollers/HomeController.phpというコントローラーファイルが新規作成されました。内容は以下のような感じ。ミドルウェアの設定とビューの設定があります。

その他に認証用のコントローラーとして、/app/Http/Controllers/Authディレクトリに以下のファイルが最初から用意されています。

Bladeテンプレートの追加

ユーザー認証に使用するBladeテンプレートファイルがviewsディレクトリに新規追加されます。

データベース関連の実装について

Laravelのインストール時にデフォルトで準備されているものを利用します。

マイグレーション

認証で使用するマイグレーションファイルは2つ。ユーザーデータ保存用のテーブルとパスワードリセット用のテーブルが以下のディレクトリに保存されています。

モデル

ユーザーデータのモデルは、app/User.phpで定義されています。

アクセスしてみる

php artisan serveでローカルサーバーを起動して、http://127.0.0.1:8000/loginにアクセスしてみると…

Laravelのデフォルトログイン画面

表示された!\(^o^)/
Bootstrapがデフォルトでインストールされているので、たったこれだけの作業でそれっぽいログイン画面ができる!けど勝手に色々やってくれる分、どこの何がどうなったかは理解していかないとなぁ。