如何使管理系统的操作日志成为通用模块一直是我的头疼问题,但是在阅读博客园中的一篇文章之后,现在基本上已经解决了.
相关文章链接: “系统操作日志设计”
在开始之前,必须将两个日志分开,即普通操作日志和业务操作日志. 两者有什么区别?
在我的理解中,普通操作日志是单表操作记录,而业务操作日志是一系列普通操作日志的集合.
例如,用户需要购买婴儿,并已达到下订单的步骤. 订购是一项业务. 该业务的背后是一系列业务,例如:
生成订单→生成产品快照→发送内部消息→在购物车中删除相应的婴儿
此订购操作包含4个部分. 您可以将这4个部分视为4个表,并对这4个表执行相应的操作以实现业务.
但是今天我不是在谈论业务操作日志. 由于不同项目的业务不相同,因此无法将其制成通用模块. 我要说的是普通的操作日志.
上面解释了很大一部分. 以下干货即将揭幕. 先洗脸.
......
首先,要在哪里记录操作日志?在执行插入,更新和删除这三个操作时,您需要记录日志,并且日志执行的顺序如下
插入
插入后执行
更新
在更新前后执行,获取操作前的操作前数据,获取操作后的操作后数据
删除
在删除之前执行
清除命令后,让我们看一下我编写的日志操作类. 第一个版本是随便写的. 有很多重复的代码,将来必须对其进行优化.
class LOG{
protected $primaryid;
protected $tbid;
protected $tbname;
protected $keys;
protected $values;
/**
* 参数说明</