use*_*986 9 event-listener event-handling laravel laravel-5
我对事件和听众之间的差异感到有点困惑.
我理解你如何创建你的事件Events然后注册它们并实现处理程序Handlers\Events.所以我在这里有事件和事件的处理.
它们在我定义它们之后工作 Providers\EventServiceProvider.php
protected $listen = [
UserHasSignedUp::class => [
SendWelcomeEmail::class,
SendAdminEmail::class
]
];
Run Code Online (Sandbox Code Playgroud)
那么听众是什么?
对我来说,他们看起来与事件处理程序完全相同?
Eze*_*eno 16
在你的例子中UserHasSignedUp是一个Event.SendWelcomeEmail并且SendAdminEmail两个侦听器"等待"事件UserHasSignedUp被触发,并且它们应该在handle每个方法的方法上实现所需的业务逻辑.
超级简单的例子:
UserController中的某个地方
Event::fire(new UserHasSignedUp($user)); //UserHasSignedUp is the event being fired
Run Code Online (Sandbox Code Playgroud)
SendWelcomeEmail类
class SendWelcomeEmail //this is the listener class
{
public function handle(UserHasSignedUp $event) //this is the "handler method"
{
//send an email
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,每个事件都可以有多个侦听器,但是侦听器无法侦听多个事件.如果你想让一个类听很多事件,你应该看看事件订阅者
希望能帮助到你.