是否有任何类可用于审核用户的操作?我的意思是用户对添加、删除或修改记录所做的操作?
前段时间我使用了 phpmyedit,它有一个“ logtable
”选项($opts['logtable'] = 'changelog';
),可以用来“审计”或跟踪该特殊表的活动。
是否有可能做到这一点,还是我必须在之前(例如)实施它$f->update()
?
是否有任何类可用于审核用户的操作?我的意思是用户对添加、删除或修改记录所做的操作?
前段时间我使用了 phpmyedit,它有一个“ logtable
”选项($opts['logtable'] = 'changelog';
),可以用来“审计”或跟踪该特殊表的活动。
是否有可能做到这一点,还是我必须在之前(例如)实施它$f->update()
?
没有这样的类,但我已经实现了好几次了。这涉及“推送”标准 Model_Table 类以将功能包含到所有模型中。这是食谱。
如果您只对成功操作感兴趣,则可以从“beforeInsert”中省略“更新”。创建一些测试。不要忘记确保 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);
}
}