Laravel サーバサイド

[入門者向け]Laravel UIのAuthで作成されるコントローラの正体を掴む

どうも、シローです。

普段はサーバサイドやフロントサイドの開発をしております。

前回の記事で、Laravel UIの--authオプションを使って認証機能を追加しました。今回は認証のコントローラの中身をご紹介します。

この記事の対象者

  • Laravelを触り始めた人
  • LaravelのAritsanコマンドで作成される認証機能をカスタマイズしたい人

前回の内容

認証用のルーティングがどのコントローラにアクセスするかを確認

認証機能で追加されたルーティングに対してどのコントローラが呼び出されるかはArtisanコマンドで確認することができます。

認証用のルーティングは次のようになります。

これで、ログイン画面にアクセスした時の処理を調べたい場合はGET|HEAD loginの行を見ることで確認できます。

ログイン機能を例にした場合

ログイン関連のルーティングを整理すると

  • GETメソッドで/loginにアクセスするとAuth\LoginControllerクラスのshowLoginForm関数が呼び出される
  • POSTメソッドデ/loginにアクセスするとAuth\LoginControllerクラスのlogin関数が呼び出される

というのがわかります。

実際にAuth\LoginControllerの中身を見てみます。

showLoginFormloginといった関数は見当たりません。

実は、これらの処理はuse AuthenticatesUsersの行で定義されているのです。

これはトレイトと呼ばれる機能で外部のファイルに処理をまとめていることができます。

では、AuthenticatesUsersのトレイトの中身を確認してみます。(ファイルの場所の調べ方の参考:https://shiro-secret-base.com/laravel-ui-auth-routing/)

vendor/laravel/ui/auth-backend/AuthenticatesUsers.php

showLoginFormloginが定義されているのがわかりました。

おわり

以上、Laravel UIのAuthで作成される認証用のルーティングがどのコントローラを呼び出しているのかを調べる内容でした。

中身の処理を正しく把握することで、アプリケーションのカスタマイズの幅が広がると思います。

本記事が少しでも参考になれば幸いです。

-Laravel, サーバサイド

© 2024 Shiro's secret base