是否有可用于审核用户操作的课程? 我的意思是用户使用添加,删除或修改记录的操作?
前段时间我使用过phpmyedit,它有一个“logtable
”选项($opts['logtable'] = 'changelog';
),可以用来“审核”或跟踪该特殊表的活动。
是否可以这样做或者我必须在$f->update()
之前实现它(例如)?
答案 0 :(得分:0)
没有这样的课程,但我已多次实施。这涉及“推送”标准的Model_Table类,以在所有模型中包含功能。这是食谱。
如果您只对成功的操作感兴趣,可以省略“beforeInsert”中的“update”。创建一些测试。不要忘记确保Model_Audit不继承您的类以避免递归。实际上,只要你记得将它用于模型,你就可以用不同的方式命名类。
Agile Toolkit将在某些时候通过Controller提供无缝的审计支持,最有可能是4.2。
class Model_Table extends Model_MVCTable {
function beforeInsert($data){
$this->insert_audit = $this->add('Model_Audit')
->set('action','insert');
$this->insert_audit->update();
return parent::beforeInsert($data);
}
function afterInsert($id){
$this->insert_audit->set('is_completed',true)
->update();
return parent::afterInsert($id);
}
}