はじめに
LaravelでよくでてくるIlluminate\~\~
って結局何だ?!と思いメソッドをまとめました。
言語
- Laravel8
Illuminateとは
- Laravelが提供する様々なサービスやコンポーネントを構成するための基盤を提供している。
- サービスやコンポーネントは
Illuminate
名前空間内に整理されている
どこにあるか?
プロジェクトディレクトリ\vendor\laravel\Framework\src\Illuminate\~
Illuminate\Auth
- 認証システムを管理するためのクラスがある。
Illuminate\Auth\AuthManager
-
AuthManager
クラスは認証の設定とドライバの管理を行う
guard($name = null)
- 指定した認証の方法を取得する
$user = Auth::guard('admin')->user();``
createToken($name)
- APIトークンの作成をサポート。API認証で主に使用。
$token = Auth::guard('api')->user()->createToken('Token Name');
setDefaultDriver($name)
- デフォルトの認証ドライバを設定する。
Auth::setDefaultDriver('api');
Illuminate\Auth\AuthServiceProvider
-
AuthServiceProvider
クラスは認証サービスの設定を行うプロバイダー。
boot()
- サービスプロバイダーがブートされるときに呼ばれる。ポリシーの登録やその他の設定をする。
public function boot() { $this->registerPolicies(); }
registerPolicies()
- アプリケーションで使用するポリシーを登録する。
public function boot() { Gate::policy(Post::class, PostPolicy::class); }
Illuminate\Contracts\Auth\Factory
-
AuthManager
のインターフェイスとして使用されるFactory
インターフェイス。
guard($name = null)
- 認証ガードを取得
$guard = $auth->guard();
createToken($name)
- APIトークンの作成をサポート
$token = $auth->user()->createToken('Token Name');
Illuminate\Auth\GuardHelpers
-
GuardHelpers
トレイトには、ガードクラスでよく使用されるメソッドがある。
user()
- 現在認証しているユーザーを取得。
$user = Auth::user();
id()
- 現在認証しているユーザーのIDを取得。
$userId = Auth::id();
check()
- ユーザーが認証されているかどうかを確認
if (Auth::check()) {/*...*/}
guest()
- 現在のユーザーがゲスト(未認証ユーザー)かどうかを確認
if (Auth::guest()) {/*...*/}
attempt(array $credentials, $remember = false)
- 認証を試み、成功した場合はユーザーをログイン
if (Auth::attempt(['email' => $email, 'password' => $password], true)) { /* ... */ }
login($user, $remember = false)
- 指定したユーザーをログインさせる
Auth::login($user);
logout()
- 現在のユーザーをログアウトさせる
Auth::logout();
viaRemember()
- ユーザーが「Remember Me」オプションを使って認証されたかどうかを確認
if (Auth::viaRemember()) {/*...*/}
私のIlluminate関連記事