priyank/doctrine-odm-audit

在ODM Doctrine的flush事件中,将新/旧值作为审计信息存储到数据库

1.0.8 2019-04-01 16:34 UTC

This package is auto-updated.

Last update: 2024-09-29 05:14:36 UTC


README

Codacy Badge Latest Stable Version Total Downloads Latest Unstable Version License composer.lock

基本功能列表

  • 在ODM Doctrine的flush事件中,将新/旧值作为审计信息存储到数据库

您需要实现IAuditHandler接口。将实现该接口的类对象作为构造函数的参数提供。

class OdmEventManager implements IAuditHandler{
public function getPersistantRevisionObject(RevisionInfo $revisionInfo){
$revisionDoc = new RevisionDoc();
//Store revision info details into revision document
//Here you can store other details like action user infromatino in Revision document
return $revisionDoc;
}
public function getNamespaceOfDoctrineObject(){
return "Doctrine\Document";
}
public function isDeleteEventAuditEnabled()
    {
        return true;
    }

    public function isInsertEventAuditEnabled()
    {
        return true;
    }

    public function isRequireToStoreAudit($obj)
    {
        return ($obj instanceof UserDocument);
    }

    public function isUpdateEventAuditEnabled()
    {
        return true;
    }

    public function isUpsertEventAuditEnabled()
    {
        return true;
    }
$odmAuditEventManager = new OdmAuditEventManager(new OdmEventManager());
$eventManager               = new EventManager();
$eventManager->addEventListener([Events::onFlush], $odmAuditEventManager);