vsevolod-ryzhov/yii2-ar-logger

Yii2 ActiveRecord变更记录器

v0.1 2020-05-23 16:12 UTC

This package is auto-updated.

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


README

记录Yii2 AR模型的变化

安装

通过Composer

composer require vsevolod-ryzhov/yii2-ar-logger

日志存储

您可以安装迁移以在数据库中存储数据

php yii migrate --migrationPath=@vendor/vsevolod-ryzhov/yii2-ar-logger/src/migrations

或者您可以使用自己的存储数据类,该类应实现 ArLoggerStorageInterface 接口

用法

更新您的ActiveRecord类

  • 如果您使用内置类 DbLoggerStorage
public function behaviors()
{
    return [
        ...
        [
            'class' => ArLoggerBehavior::class,
            'excludedAttributes' => ['created_at', 'updated_at'],
        ],
        ...
    ];
}
  • 如果您想使用自己的存储
// create your own storage class
class MyOwnStorage implements ArLoggerStorageInterface
{
    public function store(ArLoggerObject $object): bool
    {
        // save $object here
        return true;
    }
}

// pass storage class to behavior param "storage"
public function behaviors()
{
    return [
        ...
        [
            'class' => ArLoggerBehavior::class,
            'storage' => MyOwnStorage::class,
            'excludedAttributes' => ['created_at', 'updated_at'],
        ],
        ...
    ];
}