本期视频登录后即可观看

Laravel 事件监听

4 集视频
21分钟

本期视频咱们先看一看第一种事件监听实现的工作流,这种方式呢,适用于你对你的业务熟悉度不太高的情况,随着项目的进展和对业务的不断深入,需要监听的事件逐一的被你慢慢都知道的,每知道一个,你就添加一个。如果是这种状况,那就按照这个工作流程来吧:创建event-创建listener-绑定event和listener-出发事件。

slw415 2019.12.23 09:40

为啥我的EventServiceProvider 的listen长的与众不同点啊 我一开始以为版本问题 去官网上看 发现 也不一样啊 我的是

protected $listen = [

Registered::class =&gt [

SendEmailVerificationNotification::class,

],

];

国营 2019.12.23 09:43

这是添加了邮件验证之后增加的东西,录视频的时候还没这个呢,有了这个之后更方便了而已,没增加学习负担

CfgiCat 2020.01.10 15:51

请问一下,php artisan在终端下自动补全这个是如何实现的呢?小白一个,谢谢啦。

国营 2020.01.10 16:04

我安装了一个fish自动补全工具,我在开发环境的课程里介绍过

heibai 2020.05.24 10:20

碰到个事件奇怪的问题,下面简单描述下代码块 假设用户表2个字段分别是name age $user=User::create(['name'=&gt'a']);

event(new CreateUser());

return UserRescouse($user);

监听器 class updateAge()

$user-&gtupdate(['age' =&gt 20])

代码流程差不多是这样。我没有继承队列,QUEUE_CONNECTION=sync 也没友动

问题接口输出的数据age是Null, 但数据表中age已经是20了。流程上来说我就是同步啊,讲道理应该输出age = 20啊,请教一下

国营 2020.05.24 11:14

哈哈,按照你的设置运行肯定是同步的,很多人都会遇到这类问题,怎么想都想不明白,这里对基本功的要求还是挺高的,内存数据和数据库数据的一致性问题在这里展现的淋漓尽致。这里创建的$user在内存中对应的数据是不包含age信息的,在监控器里(添加了队列的监控器)创建的$user跟之前这个对应的可不是一个内存数据,它是一个新的,这个里边有age数据,它完成了对数据库数据的写入,但是它不会影响到最早的那个user变量,很多人可能工作5,6年也想不明白到底怎么回事,就看对内存这块的理解程度过关不过关了。它们两个是不同文件不同函数里的局部变量,局部变量的生命周期你一想也就明白了,两个平行世界。

heibai 2020.05.24 12:25

好的谢谢

微信扫码登录