laravel5.5 evnet的使用

第一部分 解释

当一个用户阅读了一篇文章,可能需要给文章增加点击量,给阅读的用户增加积分,给文章作者发送通知等功能。对于以上操作,

我们可以使用laravel提供的事件机制进行良好的解耦。以上的用户阅读一篇文章,就是laravel中的一个事件,用户阅读文章后触

发的一系列操作就是此事件的监听者,他们会被逐个执行。实际上laravel的事件服务是观察者模式的一个实现,

触发了一个事件,就好象推倒了多米诺骨牌的地一块,剩下的操作就骄傲给提前摆好的阵型自行完成了。不同的是现实中我们很难让骨牌

停止倒塌, 但在laravel中我们可以很方便的停止事件的传播,即终止监听者的调用链。

第二部分 追源码,这个有兴趣的可以自行了解一下。

第三部分 使用

1、使用一 通过触发事件给监听者传参

2、 使用命令生成相应的文件:php artisan event:generate

为每个事件和监听器手动创建文件是件很麻烦的事情,而在这里,你只需将监听器和事件添加到 EventServiceProvider 中,再使用 event:generate 命令即可。这个命令会生成在 EventServiceProvider 中列出的所有事件和监听器。当然,已经存在的事件和监听器将保持不变:

3、在 StudyEvent.php 文件中的 __construct()函数中,咱们只接收一个存储服务器预警数据的模型,如下图:

4、在 StudyEventListeners.php 文件中,咱们只做一个简单的打印,如下图

5、现在通过,控制器访问访问一下。 控制器中代码如下:

打印的结果如下:

至此,说明一个简单的事件,就设置好了。补充: StudyEvent.php 文件中的 __construct()函数中,不是非要传模型,根据自己所需,传正确的参数即可。

上面是,事件没有使用 laravel 队列的情况,下面在说一下,如何使用队列。

第一步: StudyEventListeners.php 文件 继承 laravel 队列类即可(implements ShouldQueue)

第二步:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值