$event->user instanceof MustVerifyEmail 未理解含义,请教下各位。
// 如果 user 是继承于 MustVerifyEmail 并且还未激活的话
if ($event->user instanceof MustVerifyEmail && ! $event->user->hasVerifiedEmail()) {
// 发送邮件认证消息通知(认证邮件)
$event->user->sendEmailVerificationNotification();
}
不理解这个用法, 具体是怎么进行运算的
$event->user instanceof MustVerifyEmail
关于 LearnKu
你好,
我们的
User模型是实现了MustVerifyEmailContract契约首先判断
$event->user对象是不是MustVerifyEmailContract的实例,如果是,再去判断这个用户是否已经验证过邮箱instanceof是PHP操作符,可以用来查看变量具体是哪个类的实例你可以在判断这里试着打印
然后
$event->user->hasVerifiedEmail()会调用vendor\laravel\framework\src\Illuminate\Auth\MustVerifyEmail.php这个Trait就是判断当前这个对象的email_verified_at属性是否为空。这里 契约 是 Laravel 框架的概念,其实原理和就是
PHPINTEFACE接口类 的 抽象类实现,只是 Laravel 框架集中对其进行管理,具体概念可以看这里 Contracts《Laravel 5.5 中文文档》