本期视频登录后即可观看
事件监听实现方式1-随波逐流派
本期视频咱们先看一看第一种事件监听实现的工作流,这种方式呢,适用于你对你的业务熟悉度不太高的情况,随着项目的进展和对业务的不断深入,需要监听的事件逐一的被你慢慢都知道的,每知道一个,你就添加一个。如果是这种状况,那就按照这个工作流程来吧:创建event-创建listener-绑定event和listener-出发事件。
微信扫码登录
![](https://www.coding10.com/images/auth/default.png)
本期视频咱们先看一看第一种事件监听实现的工作流,这种方式呢,适用于你对你的业务熟悉度不太高的情况,随着项目的进展和对业务的不断深入,需要监听的事件逐一的被你慢慢都知道的,每知道一个,你就添加一个。如果是这种状况,那就按照这个工作流程来吧:创建event-创建listener-绑定event和listener-出发事件。
为啥我的EventServiceProvider 的listen长的与众不同点啊 我一开始以为版本问题 去官网上看 发现 也不一样啊 我的是
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
];
这是添加了邮件验证之后增加的东西,录视频的时候还没这个呢,有了这个之后更方便了而已,没增加学习负担
请问一下,php artisan在终端下自动补全这个是如何实现的呢?小白一个,谢谢啦。
我安装了一个fish自动补全工具,我在开发环境的课程里介绍过
碰到个事件奇怪的问题,下面简单描述下代码块 假设用户表2个字段分别是name age $user=User::create(['name'=>'a']);
event(new CreateUser());
return UserRescouse($user);
监听器 class updateAge()
$user->update(['age' => 20])
代码流程差不多是这样。我没有继承队列,QUEUE_CONNECTION=sync 也没友动
问题接口输出的数据age是Null, 但数据表中age已经是20了。流程上来说我就是同步啊,讲道理应该输出age = 20啊,请教一下
哈哈,按照你的设置运行肯定是同步的,很多人都会遇到这类问题,怎么想都想不明白,这里对基本功的要求还是挺高的,内存数据和数据库数据的一致性问题在这里展现的淋漓尽致。这里创建的$user在内存中对应的数据是不包含age信息的,在监控器里(添加了队列的监控器)创建的$user跟之前这个对应的可不是一个内存数据,它是一个新的,这个里边有age数据,它完成了对数据库数据的写入,但是它不会影响到最早的那个user变量,很多人可能工作5,6年也想不明白到底怎么回事,就看对内存这块的理解程度过关不过关了。它们两个是不同文件不同函数里的局部变量,局部变量的生命周期你一想也就明白了,两个平行世界。
好的谢谢