我的EventServiceProvider
有以下内容,
'App\Events\EventCreated' => [
'App\Handlers\Events\EventCreatedNotifications',
'App\Handlers\Events\EventCreatedMail'
],
我想通过传递参数从EventCreatedMail
调用EventCreatedNotifications
事件,是否可以执行此操作。
答案 0 :(得分:0)
触发App\Events\EventCreated
事件时,将触发为此事件注册的所有事件类。在代码组织方面,你所要求的并不好。调用EventCreatedMail
时,EventCreatedNotifications
将被称为annyways。是的,您可以实例化新的EventCreatedMail
类并调用它的句柄函数来模拟调用事件,但这是错误的,您不应该这样做。
相反,您可以将两个事件分开,然后您可以轻松地从您想要的地方拨打EventCreatedMail
,如下所示:
'App\Events\EventCreated' => [
'App\Handlers\Events\EventCreatedNotifications',
],
'App\Events\CreatedNotification' => [
'App\Handlers\Events\EventCreatedMail'
],
之后你可以打电话
event(new \App\Events\CreatedNotification($event->id, $input['notify']));
从你的第一次活动开始。