介绍
今天就跟大家聊聊有关怎么在Laravel框架中使用监听器实现sql语句记录功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强> 1,监听sql语句的事件类已经定义,直接创建监听器类即可:强>
#,监听sql :listener QueryListener ——事件=照亮\ \数据库\事件QueryExecuted
<强> 2,监听器类代码强>
。/app/听众/QueryListener。php
& lt; php ? namespace 应用\听众; use 照亮\数据库\ \ QueryExecuted事件; use 照亮\ \ InteractsWithQueue队列; use 照亮\ \队列\ ShouldQueue合同; use 应用\ Http \ \ OperationLog模型; class QueryListener { ,/* * ,,*,Create 从而event 听众。 ,,* ,,*,@return 空白 ,,*/public 才能;function  __construct () {才能 ,,//,,} ,/* * ,,*,Handle 从而事件。 ,,* ,,*,@param QueryExecuted $事件 ,,*,@return 空白 ,,*/public 才能;function 处理(QueryExecuted 事件美元) {才能 ,,,sql 美元;=,str_replace(“?“,“& # 39; % & # 39;“,,美元事件→sql); ,,,log 美元;=,函数(sql,美元,美元事件→绑定); ,,,#,此处uid美元定义是依赖于中间件记录操作日志代码 ,,,uid 美元;=,收取($ _SERVER [& # 39; admin_uid& # 39;]), ?, $ _SERVER [& # 39; admin_uid& # 39;],:, 0; ,,,如果(& # 39;选择# 39;,!=,substr (log 美元;,,0,,,6)){ ,,,,,如果(& # 39;insert  into ‘operationLog & # 39;, !=, substr (log 美元;,,0,,,26)){ ,,,,,,,OperationLog 美元;=,new OperationLog (); ,,,,,,,美元OperationLog→uid =, uid美元; ,,,,,,,美元OperationLog→sql =,美元日志; ,,,,,,,美元OperationLog→input =, & # 39; & # 39;; ,,,,,,,美元OperationLog→保存(); ,,,,,} ,,,} ,,} }
<强> 3,引入监听器强>
。/app/供应商/EventServiceProvider。php
protected listen 美元;=,( ,,,… ,,,数据库\照亮\ \ \ QueryExecuted事件:class =祝辞,( ,,,,,& # 39;应用\听众\ QueryListener& # 39; ,,,, ,,,… ];才能
Laravel是什么
Laravel是一套简洁,优雅的PHP Web开发框架。它可以让你从面条一样杂乱的代码中解脱出来,它可以帮你构建一个完美的网络应用,而且每行代码都可以简洁,富于表达力。
看完上述内容,你们对怎么在Laravel框架中使用监听器实现sql语句记录功能有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。