密码重置成功后为什么不用事件监听来闪存信息而是在在控制器中重写 sendResetResponse () 方法?
在 Trait ResetsPasswords
里(vendor/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.php
)
有以下一段源码:
/**
* Reset the given user's password.
*
* @param \Illuminate\Contracts\Auth\CanResetPassword $user
* @param string $password
* @return void
*/
protected function resetPassword($user, $password)
{
$user->password = Hash::make($password);
$user->setRememberToken(Str::random(60));
$user->save();
event(new PasswordReset($user));
$this->guard()->login($user);
}
个人对此的理解是:密码重置成功,并保存密码,然后把当前用户设为已登录状态。
为什么教程里不用监听器,监听 event(new PasswordReset($user));
来闪存信息。而要重写
sendResetResponse() 方法。
谢谢各位!
推荐文章: