【问题标题】:Events vs Observers in laravellaravel 中的事件和观察者
【发布时间】:2019-04-17 07:24:10
【问题描述】:

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

【问题讨论】:

    标签: php laravel-5.2 lumen


    【解决方案1】:

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

    简单的区别

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

    观察者:

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

    活动:

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

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

    参考来自:https://www.scratchcode.io/laravel/difference-between-events-and-observers-in-laravel/

    【讨论】:

      【解决方案2】:

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

      什么是事件?

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

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

      什么是观察者?

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

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

      【讨论】:

        猜你喜欢
        • 2014-12-12
        • 1970-01-01
        • 1970-01-01
        • 2016-05-26
        • 1970-01-01
        • 2021-06-30
        • 2017-05-30
        • 2021-09-26
        • 2018-10-05
        相关资源
        最近更新 更多