什么是 Laravel 的监听器 Listener,应用场景有哪些?

请尝试在评论区里写下答案(如不能清楚表述,那么你可能没真正理解)。欢迎参与,为下一次求职做准备。
  • 什么是监听器?
  • 一般监听器在哪里做配置?
  • 应用场景有哪些?
摈弃世俗浮躁,追求技术精湛
Summer
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
godruoyi

Laravel Listener 是采用观察者模型来设计的,通过给事件(EVENT)绑定一个或多个观察者(Listener),当在需要的地方触发事件后,所有的观察者(Listener)都能收到通知。Laravel 采用这种方式实现代码解耦。

Listener 一般在 app/service/eventServiceProvider 里注册,可以为自定义的事件或系统事件定义 Listener(如为系统事件 QueryExecuted 建立 SQLLogListener 来打印查询日志)。

常用于用户注册成功后发送通知邮件/站内信、支付成功后发送通知/开具发票等。

3年前 评论

1.什么是监听器?
如名, 监听器一般是用来监听app里的events, 一般配合event使用. 当一个event发生, 执行listener.
2.一般监听器在哪里做配置?
在EventServiceProvider里配置.
3.应用场景有哪些?
个人感觉, 最大的好处是保持Controller干净! event & listener 配合应用可以极大的提高代码的可读性和可维护性. 单个listener可以服务与多个event, 也可单独打开或者关闭, 降低耦合, 提高代码复用. 可在任何地方调用, 适用于各种可重复使用的逻辑

3年前 评论

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