我正在开发一个应用,希望在创建新文章时向用户发送电子邮件,因此我正在使用Laravel Event Listener构建逻辑。
我在post
模型中添加了以下代码。
protected $dispatchesEvents = [ 'created' => SendMail::class ];
下面是SendMail事件文件中的代码
class SendMail
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public function __construct()
{
}
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}
似乎事件正在触发,因为如果我在构造函数中添加了一些代码,那么它将正在执行。但是我希望在创建成功的帖子后触发监听器。
我还在EventServiceProvider.php
文件中向事件和监听器注册。
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
SendMail::class => [
SendEmailFired::class,
],
];
我非常感谢任何帮助。我浪费我的全部时间弄清楚问题,但没有弄清楚确切的问题在哪里。
最后一件事是我正在使用Vyogar Laravel插件。
谢谢!
答案 0 :(得分:0)
我遇到了一个同样的问题,即事件将触发,但侦听器将不执行任何操作。 尝试将Event类和Listener类都导入到为我解决此问题的EventServiceProvider.php中。