laravel 中的事件和观察者

Events vs Observers in laravel

我真的对事件和观察者感到困惑。因为两者都在做同样的事情。 b/w 事件和观察者有什么区别?提前致谢。

好的。所以,澄清一件事 Events 和 Observers 没有做同样的事情。

什么是事件?

特定任务发生时触发事件。例如,创建、更新、删除某些模型(这些是 laravel 中的默认值)。您也可以 dispatch/trigger 您的自定义事件 product.likeduser.commented.

https://laravel.com/docs/5.7/events#defining-events

什么是观察者?

如名称所述,这些 类 observes/handles 上述事件。所以如果我们说 我们想在创建用户或正在创建用户时做一些事情(这是在进入数据库之前)。我们定义了观察者,如果您熟悉之前和之后的方法,您可以联系起来。

https://laravel.com/docs/5.7/eloquent#observers

观察者和事件根本不做同样的事情。

单差

Observers 基本上是仅在 Eloquent 模型上发生的预定义事件(创建记录、更新记录、删除等)。事件是通用的,没有预定义,可以在任何地方使用,而不仅仅是在模型中。

观察者:

观察者观察 eloquent 内发生的特定事情,例如保存、保存、删除、删除(还有更多,但您应该明白重点)。观察者专门绑定到模型。

事件:

事件是由程序员想要的任何东西驱动的动作。如果你想在有人加载页面时触发一个事件,你可以这样做。与观察者不同,事件也可以排队,并且 运行 通过 laravel 的 cron 心跳。事件由程序员有效定义。它们使您能够处理您不希望用户等待的操作(例如购买播客)

文档很好地涵盖了这些内容。

引用自:https://www.scratchcode.io/laravel/difference-between-events-and-observers-in-laravel/