美文网首页
laravel 创建事件及事件监听器

laravel 创建事件及事件监听器

作者: Stargazes | 来源:发表于2019-02-25 15:15 被阅读0次

1:为什么要使用事件触发?

    事件为应用功能模块的解耦提供了行之有效的方法,例如:一个用户注册完成之后要发邮件通知他注册成功,我们大可不必将注册的逻辑代码和发邮件的代码耦合到一起,而只需要在注册逻辑中触发发送邮件的事件既可,这样下次调用发邮件的时候不至于重写此段代码,既解除了代码的耦合度又增加了代码的可维护性。

2.怎么实现?

    (1):laravel自带的 Providers\EventServiceProvider 为事件监听器注册提供了方便之所,其中的listen属性包含了触发的事件(key),以及事件监听器(value);

事件定义

    (2):终端执行  php artisan event:generate  ,生成上图中listen中定义的事件以及监听器。此时项目目录下就会出现Events和Listeners目录,里面分别是laravel自动给我们创建的方法,

    

定义接收邮件人用户数据集

(3):在监听器中处理邮件发送功能,并没有真的发送邮件,只是简单做了dd()打印。所有的用户信息会通过事件注入到监听器的handle方法中。

监听器逻辑

(4):最后触发事件。

相关文章

  • laravel 创建事件及事件监听器

    1:为什么要使用事件触发? 事件为应用功能模块的解耦提供了行之有效的方法,例如:一个用户注册完成之后要发邮件通...

  • 事件

    事件 -- 监听器 -- 文章点击率 Laravel 5.3 事件 和 监听器 事件类 存放位置:一般在 app/...

  • 5.4Laravel事件

    事件 更多详细请参看laravel手册 事件/监听器 事件类存放位置:app/Event 目录中 监听器存放位置:...

  • Laravel 事件

    laravel 5.1.11 中 注册一个事件 Event 注册一个监听器 写监听事件 在Provides Ev...

  • Web笔记-Listener

    事件源、事件、监听器 事件源:发生事件的对象 事件:事件封装了事件源,方便监听器的某个方法获取到事件源对象 监听器...

  • 基于SpringBoot和注解实现优雅的事件监听器

    1. 了解事件监听器 事件监听器包括3个部分,事件、事件源、事件监听器。 事件,主要用于传递参数,例如用户登录,可...

  • laravel 事件/监听器 实例

    导语 上一篇文章实现了记录用户访问,设计上是有缺陷的,代码紧耦合在中间件。如果后续修改需求,不仅记录 ip、城市,...

  • laravel事件监听器队列

    上一篇文章说了,事件的作用是解耦,但是如果类似发短信或着邮件这样的业务,就会比较慢,这时就需要异步队列处理,把监听...

  • springboot事件及事件监听器

    ApplicationStartingEvent:springboot框架开始启动的事件。ApplicationS...

  • 监听器

    监听器 本文包括: 1、Listener简介 2、Servlet监听器 3、监听三个域对象创建和销毁的事件监听器 ...

网友评论

      本文标题:laravel 创建事件及事件监听器

      本文链接:https://www.haomeiwen.com/subject/xckgyqtx.html