수색…
새 등록 된 사용자에게 전자 메일을 보내는 이벤트 및 수신기 사용
Laravel의 이벤트를 통해 Observer 패턴을 구현할 수 있습니다. 이것은 응용 프로그램에 등록 할 때마다 사용자에게 환영 전자 메일을 보내는 데 사용할 수 있습니다.
새 이벤트 및 리스너는 이벤트 및 해당 리스너를 App\Providers\EventServiceProvider
클래스에 등록한 후 artisan 명령 줄 유틸리티를 사용하여 생성 할 수 있습니다.
protected $listen = [
'App\Events\NewUserRegistered' => [
'App\Listeners\SendWelcomeEmail',
],
];
대체 표기법 :
protected $listen = [
\App\Events\NewUserRegistered::class => [
\App\Listeners\SendWelcomeEmail::class,
],
];
이제 php artisan generate:event
실행합니다. 이 명령은 App\Events
및 App\Listeners
디렉터리에서 위에서 언급 한 모든 해당 이벤트 및 수신기를 생성합니다.
우리는 하나의 이벤트에 여러 개의 리스너를 가질 수 있습니다.
protected $listen = [
'Event' => [
'Listner1', 'Listener2'
],
];
NewUserRegistered
는 새로 등록 된 User 모델의 래퍼 클래스입니다.
class NewUserRegistered extends Event
{
use SerializesModels;
public $user;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
}
이 Event
는 SendWelcomeEmail
리스너에 의해 처리됩니다.
class SendWelcomeEmail
{
/**
* Handle the event.
*
* @param NewUserRegistered $event
*/
public function handle(NewUserRegistered $event)
{
//send the welcome email to the user
$user = $event->user;
Mail::send('emails.welcome', ['user' => $user], function ($message) use ($user) {
$message->from('[email protected]', 'John Doe');
$message->subject('Welcome aboard '.$user->name.'!');
$message->to($user->email);
});
}
}
마지막 단계는 새 사용자가 등록 할 때마다 이벤트를 호출 / 실행하는 것입니다. 이는 사용자 등록 로직을 구현할 때마다 컨트롤러, 명령 또는 서비스에서 수행 할 수 있습니다.
event(new NewUserRegistered($user));
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow