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程序设计有所帮助。

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载