无名商城论坛

搜索
查看: 233|回复: 0

[其他技术] 【LSP】Laravel Event的分析和使用

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 17:03:01 | 显示全部楼层 |阅读模式


Laravel Event的分析和使用
第一部分 概念解释 请自行查看观察者模式

第二部分 源码分析 (逻辑较长,不喜欢追代码可以直接看使用部分)

第三部分 使用

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

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

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

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

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

第二部分 追源码
事件服务的注册
事件服务的启动一(获取所有的事件和监听者)
事件的触发
第三部分 使用
使用一        通过触发事件给监听者传参
以上用法没那么常见,这里只是简单演示下,细节还需各位自行尝试,常见使用还要各位仔细查阅文档。

至于监听者的异步化,只需要监听者实现ShouldQueue接口,然后简单配置就可以了。大家可以先行查看文档事件部分。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表