事件和监听是什么关系哦,迷迷糊糊的

    这个是官方的文档,看了好几遍了没明白

事件和监听是什么关系哦,迷迷糊糊的

protected $listen = [
    'App\Events\OrderShipped' => [
        'App\Listeners\SendShipmentNotification',
    ],
];

这个是事件

App\Events\OrderShipped

这个是监听

        'App\Listeners\SendShipmentNotification',

他们的关系是怎么样子的啊,就是当事件发生后,这些监听才运行吗?
怎么样子单独注册事件系统,不做监听呢?
迷迷糊糊的啊, 有这样的文章看下么》?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 8

个人一些理解。举个熟悉的场景吧。你发了一个微博动态 这个动作就是一个事件,谁触发的事件 ,你发的微博就是你触发的事件,你发了微博之后发生了什么?通知关注你的人你发了一条出轨的微博,谁监听了这个事件,关注你的人监听了这个事件,所以一旦你发了一条微博,关注你的粉丝就能马上知道你出轨了。为什么要以监听器这个方式呢,个人认为是为了解耦,你不再需要关注里面具体的实现。而只需要关注这个监听器本身是用来干什么的,就像上面说的,当前监听器就是为了当某个xxxf发送微博之后,推送消息给关注他的粉丝一条消息xxx发了xxx微博,但是我并不需要知道它里面到底是用什么推送的 短信 邮件?I don't care

实践才能让你理解。鲁迅说的 。

4年前 评论
LDL1023

先理解观察者模式

4年前 评论
pardon110

事件与监听器 简单来说就是发生了什么事,谁来善后的问题。在laravel中注册事件,本质上相当于先登记联系方式,以备告知事件发生后,能够让laravel通知与该事件相关的人,建立事件与监听器之间的链路(映射关系)。至于是用哪种通信方式,比如打电话,还是写信之类,不需要你关心。你关心的是事件本身,即事件类就是对事件进行的描述,比如发生交通事故,事件类得记载有几人受伤,受伤情况等等这些,都是善后(监听器)要用到的,至于怎样用这些事件信息,你可以在监听器内自己干 ,也可找他人都没问题。事件监听目标在于分离代码,好比大号版的函数调用与定义相分离。在laravel中由于都分离了,要用的话,你得找个够彼此双方都能找到的中间人,laravel的中间人就是应用,它知道事件什么时候在哪里发生,你要做的就是记录事件信息(定义事件类),处理善后(定义监听器逻辑),告知laravel发生事件找谁( 注册事件监听器映射关系)。做完这些,再有类似事件发生,你就不用操心了,laravel已经知道整个事件处理流程,它可以自己去操作。

4年前 评论

这个不难的,
写一个登录后发送邮件的逻辑,
把发送邮件部分的逻辑写在事件里,写一遍你就会了

4年前 评论

上次是不你在我那个Service提问贴底下回帖了

4年前 评论

监听的对象就是事件。

4年前 评论

比如JS的事件

xxxxx.on('click',function(){
    // event a
})
xxxxx.on('click',function(){
    // event b
})
// on(事件名就是event name,注册事件处理回调方法就是listeners)

当该元素被点击会依次执行前后注册的两个事件回调处理方法。就是酱紫。

4年前 评论
24K大白羊 4年前

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