gpt4 book ai didi

php - Laravel 广播 : Notification vs Event

转载 作者:IT王子 更新时间:2023-10-28 23:46:18 26 4
gpt4 key购买 nike

我阅读了关于 EventsNotifications 的 laravel 文档,看来我们可以触发一个事件并从该事件(使用 ShouldBroadcast 接口(interface))广播它对 laravel echo 我的理解,另一方面我们可以使用 Notifications viaBroadcast 来做同样的事情,那有什么区别呢?

最佳答案

在我看来,所提供的答案缺乏的是,它们在大多数情况下同时使用,而不是一个或另一个,这似乎是所提供的答案/问题的基调。

事件在您的应用程序中具有重要意义。假设您的应用程序是一个网上商店。

Product Purchased 是您网店中的一项重要操作。购买产品时,您需要执行许多不同的步骤。将这些全部放在一个 Controller 中并可能放在几个不同的地方可能会变得非常困惑和不清晰。

因此,一个好的方法是使用名为 ProductPurchasedEvent。该事件可以有监听器,在这种情况下,这些监听器是用户购买产品时您需要执行的所有步骤。

例如:已购买产品(事件)

  • BillClient(事件监听器)
  • 生成发票(事件监听器)
  • notifyClient(事件监听器)
  • ...

假设我们想在客户购买产品时通过短信和电子邮件通知他们。

因此,在 notifyClient 事件监听器上,我们可以创建一个 Notification 。此通知负责向客户端发送消息。这可以是 SMS/Slack-message/Email/...

正如您提到的,事件和通知都可以放入队列或广播。广播主要是结合 Laravel Echo 和 Websockets 的使用。

当您想向不同 channel 发送内容时,您可以选择通知。邮件/短信/Slack..如果你只需要广播,你可以使用 ShouldBroadcast。就像您只想发送电子邮件时使用 Mail::而无需通知一样。

通知是将相同“消息”分组到不同目的地的好方法。

关于php - Laravel 广播 : Notification vs Event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39314809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com