laravel 创建事件及事件监听器

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

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

2.怎么实现?

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

事件定义

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

    

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

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


监听器逻辑

(4):最后触发事件。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Laravel 学习交流 QQ 群:375462817 本文档前言Laravel 文档写的很好,只是新手看起来会有...
    Leonzai阅读 8,706评论 2 12
  • Laravel框架一:原理机制篇 Laravel作为在国内国外都颇为流行的PHP框架,风格优雅,其拥有自己的一些特...
    Mr_Z_Heng阅读 3,931评论 0 13
  • 过去做事情急,什么东西拿起来就用,不喜欢进行系统性的学习,造成在使用过程中的错误和低效,现在感觉自己耐心多了,用之...
    马文Marvin阅读 2,077评论 0 10
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,678评论 1 11
  • 必备品文档:DocumentationAPI: API Reference视频:Laracasts速查表:Lara...
    ethanzhang阅读 5,870评论 0 68

友情链接更多精彩内容