我阅读了 laravel 文档Events
and Notifications
,似乎我们可以触发一个事件,并从该事件中触发(使用ShouldBroadcast
接口)将其广播到我理解的 laravel echo,另一方面我们可以使用通知viaBroadcast
做同样的事情,那么有什么区别呢?
在我看来,所提供的答案缺乏的是,在大多数情况下,它们都被使用,而不是 1 或另一个,这似乎是所提供的答案/问题的语气。
事件是您的应用程序中重要的事情。假设您的应用程序是一个网上商店。
您的网上商店中的一项重要操作可以是购买的产品。购买产品时,您需要执行许多不同的步骤。将所有这些都放在控制器内并可能放在几个不同的地方可能会变得非常混乱且不清楚。
所以一个好的方法是使用Event called 购买的产品。此事件可以有侦听器,在本例中,这些侦听器是用户购买产品时需要执行的所有步骤。
例如。:
购买的产品(事件)
- BillClient(事件监听器)
- 生成发票(事件侦听器)
- 通知客户端(事件监听器)
- ...
假设我们想在客户购买产品时通过短信和电子邮件通知他们。
所以在notifyClient事件监听器上我们可以创建一个通知。该通知负责向客户端发送消息。这可以是 SMS/Slack 消息/电子邮件/...
就像您提到的,事件和通知都可以放入队列或可以广播。广播主要与 Laravel Echo 结合使用以及使用 Websockets。
当您想要发送内容时,您可以选择通知不同渠道。邮件/短信/Slack..
如果您只需要广播,则可以使用 ShouldBroadcast。就像当您只想发送电子邮件时使用 Mail:: 而不需要通知一样。
通知是将相同“消息”分组到不同目的地的好方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)