销量为什么要用事件和监听器?

老师,为什么增加销量要创建事件和监听器?直接在控制器更新不就行了?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
leo
最佳答案

代码解耦,否则随着业务逻辑增多,控制器的代码会越来越多

5年前 评论
讨论数量: 7
leo

代码解耦,否则随着业务逻辑增多,控制器的代码会越来越多

5年前 评论

嗯,学到了,谢谢老师

5年前 评论

@leo 老师,队列允许异步执行消耗时间的任务。那这里的销量和邮件都可以使用队列吧??

4年前 评论
leo

@断桥红颜V 课程里的就是用异步队列啊

4年前 评论

@leo 课程里用的是异步事件增加销量,通过消息通知系统发送邮件的,不是用php artisan make:job这种队列处理的呀? 像L02里面自动生成 Slug 功能说道

生成 Slug 只是一个 优化 功能,并非是发帖的 必要 功能,我们希望无论生成 Slug 的结果如何,用户都能顺利的发帖,并且完全察觉不到延迟。
利用队列系统可以做到这点。队列允许你异步执行消耗时间的任务,比如请求一个 API 并等待返回的结果

所以我有点懵,区别不了什么时候该用哪个。

4年前 评论
leo

@断桥红颜V 7.6. 完善支付后逻辑《L05 Laravel 教程 - 电商实战 ( Laravel 5.5 ) 》 仔细看代码,包括注释。

Laravel 的异步队列不仅仅是 Job,还可以是 Event Listener、Mail、Notification

4年前 评论
leo (作者) 4年前
断桥红颜V 4年前

像平常除了增加销量,可能还会增加会员成长值还有积分等, 这些适合放在一个事件还是创建多个事件呢? 请问老师@leo

4年前 评论
leo 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!