Trabalhando com eventos
98
Perceba que nosso Listener possui um método chamado handle. Será esse método que será executado nesse listener quando nosso evento PostUserRegister for disparado. Se você perceber, além disso, o mesmo ainda recebe como dependência, nosso próprio evento, onde agora, teremos acesso ao método getUser(), logo, é muito mais simples, fazer algo como: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
<?php namespace App\Listeners; use use use use
App\Events\PostUserRegister; Mail; Illuminate\Queue\InteractsWithQueue; Illuminate\Contracts\Queue\ShouldQueue;
class SendWelcomeEmail { /** * Create the event listener. * * @return void */ public function __construct() { // } /** * Handle the event. * * @param Test $event * @return void */ public function handle(PostUserRegister $event) { $user = $event->getUser(); Mail::send('emails.welcome', ['user' => $user], function ($m) use ($user\ ) { $m->to($user->email, $user->name)->subject('Welcome my Friend!'); }); } }
Veja que através de nosso $event, tivemos acesso ao usuário em questão, e conseguimos enviar um