位置: 编程技术 - 正文

利用Laravel事件系统如何实现登录日志的记录详解(laravel实战教程)

编辑:rootadmin

推荐整理分享利用Laravel事件系统如何实现登录日志的记录详解(laravel实战教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:laravel 事件队列,laravel 事件队列,laravel项目实例,laravel项目实例,laravel 事件是异步吗,laravel 事件队列,laravel 事件队列,laravel 事件是异步吗,内容如对您有帮助,希望把文章链接给更多的朋友!

本文介绍的是利用Laravel事件系统实现登录日志记录的相关内容,分享出来给大家参考,下面来看看详细的介绍:

明确需求

记录一个登录日志,通常需要下列信息:

客户端Agent信息 客户端IP地址 访问IP地点 登录时间 登录用户信息

确立工具

明确完需求后,根据每个需求查找自己所需的工具吧。

需求1 jenssegers/agent就可以满足我们要求 需求2 Laravel下直接Request::getClientIp() 需求3 zhuzhichao/ip-location-zh这个包可以满足要求 需求4 time() 需求5 登录用户模型

开工

采用Laravel的事件订阅系统来实现,需要实现一个登录事件和一个登录事件监听器。

生成事件和监听器

Laravel命令行支持自动生成事件和监听器,在AppProvidersEventServiceProvider中添加需要实现的事件:

运行命令:php artisan event:generate就会自动生成事件和监听器,已存在的事件和监听器不会发生改变。

利用Laravel事件系统如何实现登录日志的记录详解(laravel实战教程)

登录事件(Event)

回顾下需求,我们的登录事件需要的5点信息,在事件中需要记录这些信息,所以事件设计如下:

在事件中记录所需要的信息,并实现这些信息的get方法。

登录监听器(Listener)

在监听器中,获取到事件传递过来的信息,把这些信息记录到数据库中,实现如下:

这样,监听器就完成了,每次一触发登录事件,就会在数据库中添加一条登录信息。

触发事件

通过全局的event()方法来触发事件,event()方法的参数为事件实例:

队列化监听器

有时监听器会进行一些耗时操作,这时应该结合Laravel的队列系统将监听器进行队列化,前提是已经配置了队列并开启了队列处理器。

队列化非常简单,只需监听器实现ShouldQueue接口即可,即:

总结

Laravel的事件系统实现起来还是非常优雅的,同一个事件可以很方便的添加各类监听器,且各个监听器之间互不干扰,解耦性非常强。加上队列系统,可以很方便的处理一些后续任务。

好了,

标签: laravel实战教程

本文链接地址:https://www.jiuchutong.com/biancheng/290400.html 转载请保留说明!

上一篇:yii2项目实战之restful api授权验证详解

下一篇:PHP实现json_decode不转义中文的方法(Php实现邀请用户加入企业生成邀请链接)

  • 财税2012年15号文件作废
  • 计税工资和实发工资不一样所得税
  • 标书费没有发票收据可以入帐吗
  • 小规模简易征收计算方法
  • 减免企业所得税怎么算
  • 个体户核定5万每个月要交多少税钱
  • 土地增值税计税价格
  • 违约金收入需要缴纳印花税吗
  • 扣缴个人所得税报告表
  • 企业所得税计入税金及附加科目吗
  • 企业股权设计咨询这个行业怎么样
  • 以前年度损益调整贷方余额表示什么
  • 增值税申报交税后怎样补录未抵扣进项税
  • 个人转租房子
  • 出口退税如何办理手续
  • 制造费用可以抵扣进项税吗
  • 其他流动负债有利息吗
  • 如何做会计分录
  • 基于php开发
  • mac怎么删除应用程序中没有的软件
  • 补缴税款可以享受减免政策么
  • 两借三贷是复合分录吗
  • 河马是站在睡觉吗
  • ai生成二次元角色全身
  • 长期应收款属于流动资产吗
  • 采购过程中发生材料毁损,由保险公司赔偿的部分
  • 奥卡万戈三角洲位置
  • 直运商品委托代销商品的销售成本的计算方法应采用
  • 没有进项开销项需要交几个点
  • Vue3通透教程【四】Vue3组合API初体验
  • php实现文件上传的函数
  • urljoin使用
  • 以股权抵债的会计分录
  • 计提年终奖的会计分录
  • python多态的概念
  • sql 临时表格
  • 前端架构优化
  • 转让债券应交的增值税税额
  • 甲供材料增值税规定
  • 认缴制和实缴制的时间
  • 一万元,两分的利息,一年利息是多少
  • 应交税费案例分析题
  • 公司买手表可以抵扣增值税吗
  • 或有资产怎么处理
  • 内账会计有法律风险吗
  • 给销售培训产品该如何做
  • 稳岗补贴支付范围
  • 调整以前月份的管理费用怎么做
  • 建设期贷款利息定义是什么
  • 购车是否有进项税额
  • 库存现金盘点表模板
  • 增值税发票打印机怎么调整打印位置
  • 税费多一分钱怎么调回来?
  • 强制执行的款在执行局领取吗
  • mysql连接时间长怎么优化
  • sql语句错误提示
  • centos如何删除bond
  • Win8系统网络SSID怎么设置?Win8设置网络SSID的方法
  • 忘记centos密码
  • win10预览体验推荐哪个通道
  • perl 获取数据库查询结果
  • angularjs阻止冒泡
  • pycharm编程入门
  • unity调用c++封装的dll
  • KBEngine v0.4.0 发布,分布式游戏服务端引擎
  • python数据可视化课后题答案
  • js数字跳动增加效果
  • node.js详解
  • 抽奖小程序模板
  • Unity之megaFierstext翻书插件控制代码分析
  • 手机运行node.js
  • python中子类继承父类的静态方法吗
  • 工作笔记范文100篇简短
  • 手机sd卡满了怎么办
  • js实现文本框输入功能
  • javascript作用域链
  • Jquery ajax请求导出Excel表格的实现代码
  • 如何登录黑龙江全省事
  • 现在还有地方税务局吗
  • 北京市税务局的待遇怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设