gpt4 book ai didi

Laravel 5 - 事件处理程序和监听器之间的混淆

转载 作者:行者123 更新时间:2023-12-02 09:07:01 24 4
gpt4 key购买 nike

我对事件监听器之间的区别有点困惑。

我了解了如何在 Events 下创建事件然后注册它们并在 Handlers\Events 中实现处理程序。所以这里我有事件和事件的处理。

我在Providers\EventServiceProvider.php中定义它们后它们就起作用了

protected $listen = [
UserHasSignedUp::class => [
SendWelcomeEmail::class,
SendAdminEmail::class
]
];

那么什么是监听器

对我来说,它们看起来与事件处理程序完全相同?

最佳答案

在您的示例中,UserHasSignedUp 是一个EventSendWelcomeEmailSendAdminEmail 是两个“等待”事件 UserHasSignedUp 被触发的监听器,它们应该在每个监听器的 handle 方法中实现所需的业务逻辑一个。

super 简单的例子:

UserController 中的某处

Event::fire(new UserHasSignedUp($user)); //UserHasSignedUp is the event being fired

SendWelcomeEmail 类

class SendWelcomeEmail //this is the listener class
{
public function handle(UserHasSignedUp $event) //this is the "handler method"
{
//send an email
}
}

如您所见,每个事件可以有多个监听器,但一个监听器不能监听多个事件。如果你想让一个类监听很多事件,你应该看看Event Subscribers

希望有帮助。

关于Laravel 5 - 事件处理程序和监听器之间的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com