Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉维尔事件与观察家_Php_Laravel 5.2_Lumen - Fatal编程技术网

Php 拉维尔事件与观察家

Php 拉维尔事件与观察家,php,laravel-5.2,lumen,Php,Laravel 5.2,Lumen,我真的对事件和观察者感到困惑。因为两者都在做同样的事情。与事件和观察者的区别是什么?提前谢谢。好的。所以,澄清一件事,事件和观察者并没有做同样的事情 什么是事件 事件在特定任务发生时触发。例如,创建、更新、删除某些模型(这些是laravel中的默认模型)。您还可以分派/触发自定义事件product.liked或user.commented 什么是观察员 正如名称所述,这些类观察/处理上述事件。所以如果我们说 我们希望在创建用户或用户正在创建时做一些事情(这是在创建DB条目之前)。我们定义观察者

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

好的。所以,澄清一件事,事件和观察者并没有做同样的事情

什么是事件

事件在特定任务发生时触发。例如,创建、更新、删除某些模型(这些是laravel中的默认模型)。您还可以分派/触发自定义事件
product.liked
user.commented

什么是观察员

正如名称所述,这些类观察/处理上述事件。所以如果我们说 我们希望在创建用户或用户正在创建时做一些事情(这是在创建DB条目之前)。我们定义观察者,如果您熟悉前后方法,您可以联系


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

简单的区别

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

观察员:

观察者观察雄辩中发生的特定事件,如保存、保存、删除、删除(还有更多,但你应该明白这一点)。观察者被特别地绑定到一个模型

事件:

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

文档很好地涵盖了这些方面

参考资料取自: