我正在尝试在Laravel 5.1中实现事件。当事件被触发时,将发送一封邮件。
我按照以下步骤进行操作:
首先,在EventServiceProvider中,我在$listen
中添加了以下内容:
'send.mail' => [
\App\Listeners\CreateTicketMail::class,
],
第二步,创建一个新的事件类 -
SendActionEmails
。然后在监听器类中为此事件创建一个处理程序 -
CreateTicketMail
。public function handle(SendActionEmails $event)
{
dd($event);
}
现在,当我触发这个事件
send.mail
时,我收到一个错误。Event::fire('check.fire');
Argument 1 passed to App\Listeners\CreateTicketMail::handle() must be an instance of App\Events\SendActionEmails, none given
另外,我想知道在哪里可以将数据发送到事件中,这些数据将被邮件使用,例如收件人、发件人、主题等。
我找到的一种方法是,在触发事件时将其作为参数传递给fire函数。
Event::fire('check.fire', array($data));
但是,我该如何在监听器中处理这些数据呢?