事件侦听器在Laravel 5.8中不起作用

时间:2019-06-06 10:21:57

标签: php laravel

我正在开发一个应用,希望在创建新文章时向用户发送电子邮件,因此我正在使用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插件。

谢谢!

1 个答案:

答案 0 :(得分:0)

我遇到了一个同样的问题,即事件将触发,但侦听器将不执行任何操作。 尝试将Event类和Listener类都导入到为我解决此问题的EventServiceProvider.php中。