请问event 这句是怎么理解的呀?

入门套件Laravel Breeze里面 用户注册中 event(new Registered($user)); 这个是怎么理解的 有什么作用 谢谢

    public function store(Request $request)
    {
        $request->validate([
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'confirmed', Rules\Password::defaults()],
        ]);

        $user = User::create([
            'name' => $request->name,
            'email' => $request->email,
            'password' => Hash::make($request->password),
        ]);

        event(new Registered($user));

        Auth::login($user);

        return redirect(RouteServiceProvider::HOME);
    }
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

event就是个辅助函数,触发事件,然后就会执行监听了,跟下面一样

Registered::dipatch($user)
2年前 评论
讨论数量: 8

事件,这是安放了一个间谍,你可以在别的地方去监听这个间谍,得到注册信息,然后派人暗杀他

2年前 评论
自由与温暖是遥不可及的梦想 2年前
SanXiao 2年前

事件,这是安放了一个间谍,你可以在别的地方去监听这个间谍,得到注册信息,然后派人暗杀他

2年前 评论
自由与温暖是遥不可及的梦想 2年前
SanXiao 2年前
Complicated

Registered($user) 里边有一段代码,event()就是触发这段代码的

2年前 评论

可以理解为 埋点钩子

2年前 评论

event就是个辅助函数,触发事件,然后就会执行监听了,跟下面一样

Registered::dipatch($user)
2年前 评论

文档 事件系统

event 实现了观察者模式,目的是为了解耦。

用你的示例代码来说明,此处是用户注册,如果我们有个需求是用户注册后,给用户发送短信/邮件进行通知,如果不用事件,我们就需要同步执行 发送短信/邮件 的方法。
这有两个缺点:

  • 1 是耗时:有网络IO,发送邮件结果我不需要立刻返回给用户,那我异步处理是最好的。
  • 2 是耦合:如果第二天需求增加 ,要给注册的用户赠送 5 天会员,那这里又要调用其他方法。

事件可以很好地解决这两个问题:我只需要在此处告知触发了注册事件,要处理的发送短信/邮件 ,赠送会员分别写个监听器来监听用户注册事件,然后异步处理就好了,后续再有别的需求,再增加监听器监听注册事件,注册的代码不需要改动。

2年前 评论

Event 函数触发一个事件, registered 是他预先创建的事件类型,参数就是这个事件里附带的额外信息。 这行的作用就是注册成功以后,触发这个注册成功的事件并带有这个用户的信息。 然后在监控事件的地方,就可以做一些发送欢迎短信之类的事情,当然,那里也可以得到附带的这个 user 实体。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!