From 0781e1ea00e607a0fc05eff5312ed31f2cfa0d33 Mon Sep 17 00:00:00 2001 From: R Date: Thu, 29 Dec 2022 09:56:03 +0700 Subject: [PATCH] [WIP] Move Listener to Boot --- Modules/Internal/Events/ForgetPassword.php | 5 ++-- .../Internal/Listeners/SendVerifyEmail.php | 2 ++ .../Providers/EventServiceProvider.php | 25 +++++++++++++++---- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Modules/Internal/Events/ForgetPassword.php b/Modules/Internal/Events/ForgetPassword.php index 86be3a9a..950c2f80 100644 --- a/Modules/Internal/Events/ForgetPassword.php +++ b/Modules/Internal/Events/ForgetPassword.php @@ -3,12 +3,13 @@ namespace Modules\Internal\Events; use Illuminate\Broadcasting\PrivateChannel; - +use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; class ForgetPassword { - use SerializesModels; + use Dispatchable, SerializesModels; + public $data; /** * Create a new event instance. diff --git a/Modules/Internal/Listeners/SendVerifyEmail.php b/Modules/Internal/Listeners/SendVerifyEmail.php index 409346b3..01806eeb 100644 --- a/Modules/Internal/Listeners/SendVerifyEmail.php +++ b/Modules/Internal/Listeners/SendVerifyEmail.php @@ -5,6 +5,7 @@ namespace Modules\Internal\Listeners; use Modules\Internal\Events\ForgetPassword; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Support\Facades\Mail; class SendVerifyEmail { @@ -27,5 +28,6 @@ class SendVerifyEmail public function handle(ForgetPassword $event) { dd($event->data); + Mail::raw('Hello World!', function($msg) {$msg->to('myemail@gmail.com')->subject('Test Email'); }); } } diff --git a/Modules/Internal/Providers/EventServiceProvider.php b/Modules/Internal/Providers/EventServiceProvider.php index f8a3dfbe..cdc227a8 100644 --- a/Modules/Internal/Providers/EventServiceProvider.php +++ b/Modules/Internal/Providers/EventServiceProvider.php @@ -2,17 +2,32 @@ namespace Modules\Internal\Providers; +use Illuminate\Support\Facades\Event; use Illuminate\Support\ServiceProvider; use Modules\Internal\Events\ForgetPassword; use Modules\Internal\Listeners\SendVerifyEmail; class EventServiceProvider extends ServiceProvider { - protected $listen = [ - ForgetPassword::class => [ - SendVerifyEmail::class, - ], - ]; + // protected $listen = [ + // ForgetPassword::class => [ + // SendVerifyEmail::class, + // ], + // ]; + + /** + * Bootstrap any application services. + * + * @return void + */ + public function boot() + { + Event::listen( + ForgetPassword::class, + [SendVerifyEmail::class, 'handle'] + ); + } + /** * Register the service provider. *