提问人:laravel sagmetic 提问时间:5/1/2023 更新时间:5/1/2023 访问量:379
如何在Laravel中实现事件监听器?
How to implement event listeners in Laravel?
问:
我正在开发一个Laravel应用程序,我想实现事件侦听器。具体来说,我希望在发生特定事件时触发某些操作,例如当用户注册或发布帖子时。我已经阅读了关于事件和侦听器的 Laravel 文档,但我仍然不太确定如何在我的应用程序中实现它们。
以下是我到目前为止所做的:
创建了一个事件类:我为要侦听的特定事件创建了一个事件类,例如 或 。此类扩展了 .
UserRegistered
PostPublished
Illuminate\Foundation\Events\Dispatchable
创建了一个侦听器类:我还创建了一个处理事件的侦听器类,例如 或 .如果我希望侦听器排队,则此类实现。
SendWelcomeEmail
NotifyAdmins
Illuminate\Contracts\Queue\ShouldQueue
注册了监听器:我已通过将监听器添加到数组中来注册监听器。
EventServiceProvider
$listen
但是,我仍然不确定如何触发事件并确保执行侦听器。谁能提供一个清晰简洁的例子来说明如何在 Laravel 中实现事件侦听器?先谢谢你!
答:
2赞
Bhaumik Pandhi
5/1/2023
#1
您需要在特定事件发生时调度事件。
例如,在您的寄存器代码/控制器上,您需要调度一个事件。UserRegistered
法典
UserRegistered::dispatch($user);
在调度事件时,其侦听器将被执行。
评论
EventServiceProvider