Laravel框架实现利用中间件进行操作日志记录功能
程序员文章站
2023-04-08 10:34:50
本文实例讲述了laravel框架实现利用中间件进行操作日志记录功能。分享给大家供大家参考,具体如下:
利用中间件进行操作日志记录过程:
1、创建中间件
php...
本文实例讲述了laravel框架实现利用中间件进行操作日志记录功能。分享给大家供大家参考,具体如下:
利用中间件进行操作日志记录过程:
1、创建中间件
php artisan make:middleware adminoperationlog
2、生成了文件./app/http/middleware/adminoperationlog.php
代码如下:
<?php namespace app\http\middleware; use closure; use illuminate\http\request; use illuminate\support\facades\auth; use app\http\models\operationlog; class adminoperationlog { /** * handle an incoming request. * * @param \illuminate\http\request $request * @param \closure $next * @return mixed */ public function handle($request, closure $next) { $user_id = 0; if(auth::check()) { $user_id = (int) auth::id(); } $_server['admin_uid'] = $user_id; if('get' != $request->method()){ $input = $request->all(); $log = new operationlog(); # 提前创建表、model $log->uid = $user_id; $log->path = $request->path(); $log->method = $request->method(); $log->ip = $request->ip(); $log->sql = ''; $log->input = json_encode($input, json_unescaped_unicode); $log->save(); # 记录日志 } return $next($request); } }
3、中间件引入 ./app/http/kernel.php
protected $middlewaregroups = [ 'web' => [ ... \app\http\middleware\adminoperationlog::class, ... ], 'api' => [ 'throttle:60,1', 'bindings', ], ];
此时进行操作时就会记录操作日志
更多关于laravel相关内容感兴趣的读者可查看本站专题:《laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于laravel框架的php程序设计有所帮助。