实例详解Laravel事件监听

2022-04-12 0 763

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于事件监听的相关问题,实现事件监听的步骤是创建事件、创建监听、绑定事件与监听然后触发事件,下面根据示例一起来看一下,希望对大家有帮助。

实例详解Laravel事件监听

【相关推荐:laravel视频教程】

Laravel Event & Listener 事件监听机制,让开发者不光是可以把代码组织得更加有条理的手段,而且也是对现实社会运行规则的高度抽象化映射,我们的现实社会本来也是这样,我们监控事物的变化,并对变化做出反应,让事物的发展按照我们的预期发展。当现实映射到代码逻辑中时,事件及其处理逻辑通常是分开的,毕竟不是所有的事件我们都需要马上进行响应处理。结合队列,我们可以把事件的监听和处理的工作流程做到更加完美。

使用案例:

监听log日志文件大小变化
用户登录:记录用户登录次数、记录访问相关信息

实现事件监听步骤:

1、创建事件:event
2、创建监听:listener
3、绑定事件与监听
4、触发事件

一、手动创建事件与监听

1、创建登录事件:event
app/Events/UserLogin.php

php artisan make:event UserLogin//获取用户信息实例 public function __construct(User $user){    $this->user = $user;}

2、创建用户登录邮件发送监听,同时绑定UserLogin登录事件:listener
app/Listeners/EmailAdminUserLogin.php

php artisan make:listener EmailAdminUserLogin --event=UserLogin //日志打印登录用户信息public function handle(UserLogin $event)    {//        dd($event);        //日志打印登录用户信息        Log::info($event->user->name . '已经登录');    }

实例详解Laravel事件监听

3、注册事件与监听绑定关系
一个事件可以对应多个监听
app/Providers/EventServiceProvider.php

protected $listen = [    'App\\Events\\UserLogin' => [        'App\\Listeners\\EmailAdminUserLogin',    ],];

4、在用户登录时候触发事件
app/Http/Controllers/Auth/LoginController.php

//覆写AuthenticatesUsers类的authenticated方法protected function authenticated(Request $request, $user){    //触发事件    event(new UserLogin($user));}

二、快速生成事件与监听

这里会根据app/Providers/EventServiceProvider.php中属性listen生成对应的事件与监听

php artisan event:generate

【相关推荐:laravel视频教程】

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明:根据2013年1月30日《计算机软件保护条例》2次修订第17条规定: 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存 储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!】
本站所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注,网站资源不做任何二次加密(原版加密除外,不影响程序使用的不会做解密处理),方便您更好的学习参考。 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

即刻码站__国内靠谱的站长资源下载平台 php教程 实例详解Laravel事件监听 https://www.jike1995.com/33732.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务