微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel框架实现利用监听器进行sql语句记录功能

本文实例讲述了Laravel框架实现利用监听器进行sql语句记录功能分享给大家供大家参考,具体如下:

利用监听器进行sql语句记录

1、监听sql语句的事件类已经定义,直接创建监听器类即可:

rush:PHP;"> # 监听sql make:listener QueryListener --event=Illuminate\Database\Events\QueryExecuted

2、监听器类代码

PHP

rush:PHP;"> sql); $log = vsprintf($sql,$event->bindings); # 此处$uid定义是依赖于中间件记录操作日志代码 $uid = isset($_SERVER['admin_uid']) ? $_SERVER['admin_uid'] : 0; if('select' != substr($log,6)){ if('insert into `operationLog`' != substr($log,26)){ $OperationLog = new OperationLog(); $OperationLog->uid = $uid; $OperationLog->sql = $log; $OperationLog->input = ''; $OperationLog->save(); } } } }

3、引入监听器

PHP

[ 'App\Listeners\QueryListener' ],... ];

此时进行操作时就会记录sql日志

相关文章

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。