【发布时间】:2019-04-17 07:24:10
【问题描述】:
我真的对事件和观察者感到困惑。因为两者都在做同样的事情。黑白事件和观察者有什么区别?提前致谢。
【问题讨论】:
标签: php laravel-5.2 lumen
我真的对事件和观察者感到困惑。因为两者都在做同样的事情。黑白事件和观察者有什么区别?提前致谢。
【问题讨论】:
标签: php laravel-5.2 lumen
观察者和事件根本不做同样的事情。
简单的区别
观察者基本上是只在 Eloquent 模型上发生的预定义事件(创建记录、更新记录、删除等)。事件是通用的,不是预定义的,可以在任何地方使用,而不仅仅是在模型中。
观察者:
观察者监视 eloquent 中发生的特定事情,例如保存、保存、删除、删除(还有更多,但您应该明白这一点)。观察者专门绑定到模型。
活动:
事件是由程序员想要的任何东西驱动的动作。如果您想在有人加载页面时触发事件,您可以这样做。与观察者不同,事件也可以排队,并通过 laravel 的 cron 心跳运行。事件由程序员有效定义。它们使您能够处理您不希望用户等待的操作(例如购买播客)
文档很好地涵盖了这些内容。
参考来自:https://www.scratchcode.io/laravel/difference-between-events-and-observers-in-laravel/
【讨论】:
好的。所以,澄清一件事,Events 和 Observers 没有做同样的事情。
什么是事件?
当特定任务发生时触发事件。例如,创建、更新、删除某些模型(这些是 laravel 的默认模型)。您也可以调度/触发您的自定义事件product.liked 或user.commented。
https://laravel.com/docs/5.7/events#defining-events
什么是观察者?
顾名思义,这些类观察/处理上述事件。所以如果我们说 我们想在创建用户或正在创建用户时做一些事情(这是在进入数据库之前)。我们定义了观察者,如果您熟悉之前和之后的方法方法,您可以联系起来。
【讨论】: