Laravel框架实现利用中间件进行操作日志记录功能

 更新时间:2018年06月06日 10:57:37   转载 作者:偶-木  
这篇文章主要介绍了Laravel框架实现利用中间件进行操作日志记录功能,结合实例形式分析了Laravel框架中间件的创建、引入以及使用中间件进行操作日志记录功能的相关实现技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • php页面,mysql数据库转utf-8乱码,utf-8编码问题总结

    php页面,mysql数据库转utf-8乱码,utf-8编码问题总结

    一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意,如果没有转换彻底,将会有很多的编码问题出现!接下来通过本篇文章给大家分享php页面,mysql数据库转utf-8乱码,utf-8编码问题总结,需要的朋友可以参考下
    2015-08-08
  • ThinkPHP行为扩展Behavior应用实例详解

    ThinkPHP行为扩展Behavior应用实例详解

    这篇文章主要介绍了ThinkPHP行为扩展Behavior应用实例,对于读者深入了解ThinkPHP框架程序设计大有帮助,需要的朋友可以参考下
    2014-07-07
  • form自动提交实例讲解

    form自动提交实例讲解

    下面小编就为大家带来一篇form自动提交实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 在 Laravel 中动态隐藏 API 字段的方法

    在 Laravel 中动态隐藏 API 字段的方法

    这篇文章主要介绍了在 Laravel 中动态隐藏 API 字段的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • tp5(thinkPHP5)框架数据库Db增删改查常见操作总结

    tp5(thinkPHP5)框架数据库Db增删改查常见操作总结

    这篇文章主要介绍了tp5(thinkPHP5)框架数据库Db增删改查常见操作,结合实例形式总结分析了thinkPHP5框架数据库的增删改查常见操作技巧与相关注意事项,需要的朋友可以参考下
    2019-01-01
  • php网上商城购物车设计代码分享

    php网上商城购物车设计代码分享

    我们要做的是一个可以包含促销活动的购物车,所以比较其他简单的购物车,会稍微复杂一点。(用的是PHP的zend framework框架)
    2012-02-02
  • 根据ip调用新浪api获取城市名并转成拼音

    根据ip调用新浪api获取城市名并转成拼音

    这篇文章主要介绍了根据ip调用新浪api获取城市名并转成拼音的示例,,需要的朋友可以参考下
    2014-03-03
  • Yii框架学习笔记之应用组件操作示例

    Yii框架学习笔记之应用组件操作示例

    这篇文章主要介绍了Yii框架学习笔记之应用组件操作,结合实例形式分析了Yii框架自定义组件的创建与使用相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • 实现PHP+Mysql无限分类的方法汇总

    实现PHP+Mysql无限分类的方法汇总

    这篇文章主要给大家汇总介绍了实现PHP+Mysql无限分类的2种方法,并对比分析了2种方法的优劣,需要的朋友可以参考下
    2015-03-03
  • 正版phpstorm免费激活步骤教程详解

    正版phpstorm免费激活步骤教程详解

    PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。这篇文章主要介绍了正版phpstorm免费激活步骤,需要的朋友可以参考下
    2020-01-01

最新评论