Php 如何在Laravel 4中保存用户日志?

Php 如何在Laravel 4中保存用户日志?,php,logging,laravel,laravel-4,Php,Logging,Laravel,Laravel 4,我的数据库中有users表,布局如下: 身份证 用户名 名字 姓氏 电子邮件 照片 到目前为止,因为我是管理员用户,所以我拥有管理员权限,我可以创建、更新和删除。 我希望以后允许我的所有用户都拥有与我相同的权限。 在我发布这个特性之前,我想跟踪谁编辑了什么-这样事情就不会丢失,而且保存事情的历史记录也很好 此功能的最佳实践是什么? 我知道我在控制器函数的更新函数中做了一些编程逻辑。 我知道我必须在我的数据库上创建一个logs表来存储 用户id:谁进行了更改 创建时间:进行更改时 旧数据:字

我的数据库中有
users
表,布局如下:

  • 身份证
  • 用户名
  • 名字
  • 姓氏
  • 电子邮件
  • 照片
到目前为止,因为我是
管理员
用户,所以我拥有
管理员权限
,我可以创建、更新和删除。 我希望以后允许我的所有用户都拥有与我相同的权限。 在我发布这个特性之前,我想跟踪谁编辑了什么-这样事情就不会丢失,而且保存事情的历史记录也很好

此功能的最佳实践是什么? 我知道我在控制器函数的更新函数中做了一些编程逻辑。 我知道我必须在我的数据库上创建一个
logs
表来存储

  • 用户id:谁进行了更改
  • 创建时间:进行更改时
  • 旧数据:字符串
  • 新数据:字符串
对于有过此功能经验的人,您能给我一些建议吗?
我真的很感激你的关心。谢谢。

我认为解决此问题的最佳方法是,用户采取的每个您想要记录的操作都应该触发一个事件

Event::fire('some.event', array(Auth::user()));
然后,您可以为每个事件注册侦听器并适当地记录

Event::listen('some.event', function($user)
{
    // create new item in logs table here.
});

这些代码应该转到哪个函数/文件?如果你不介意再澄清一点的话……这确实是一个很好的方法。您可以在Laravel文档中阅读有关事件侦听器的更多信息。我试试看。谢谢你们。我在工作时把我的回复打印出来,但从来没有发过。正如科林·肖恩(Colin Schoen)所说,医生是一个很好的起点。基本上,您可以将fire方法放在您希望记录的任何位置,并向其发送一个您希望记录的变量数组。侦听器可以在应用程序中自动加载的任何位置
app/start/global.php
通常是一种快速而肮脏的方式,更好的方式是服务提供商。