bupy7/yii2-activerecord-history
最新稳定版本:1.2.0
Composer 安装命令:
composer require bupy7/yii2-activerecord-history
包简介
This extension adds storage history of changes to the ActiveRecord model.
README 文档
README
This extension adds storage history of changes to the ActiveRecord model.
Extension can tacking changes to model and save to storage. Allowed only storage to database. All changes saved to table in database.
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist bupy7/yii2-activerecord-history "*"
or add
"bupy7/yii2-activerecord-history": "*"
to the require section of your composer.json file.
Usage
NOTICE! Configuration of module must have in
common/config/main.phpif you will useandancedtemplate. Or add configuration in bothconfig/web.phpandconfig/console.phpif you will usebasictemplate.
Register of module to config file:
'modules' => [ 'arhistory' => [ 'class' => 'bupy7\activerecord\history\Module', ], ],
Name of module can be any (example: history, custom-name and etc).
Add module in bootstrap to config file:
'bootstrap' => ['arhistory'],
Run migration:
php ./yii migrate/up --migrationPath=@bupy7/activerecord/history/migrations
Attach behavior to model:
use bupy7\activerecord\history\behaviors\History as HistoryBehavior; $model->attachBehavior('arHistory', HistoryBehavior::className());
Configuration
Module configuration:
'modules' => [ 'arhistory' => [ 'class' => 'bupy7\activerecord\history\Module', 'tableName' => '{{%arhistory}}', // table name of saving changes of model 'storage' => 'bupy7\activerecord\history\storages\Database', // class name of storage for saving history of active record model 'db' => 'db', // database connection component config or name 'user' => 'user', // authentication component config or name ], ],
Behavior configuration:
use bupy7\activerecord\history\behaviors\History as HistoryBehavior; $model->attachBehavior('arHistory', [ 'class' => HistoryBehavior::className(), // allowed events list than are monitored and saved in storage. 'allowEvents' => [ HistoryBehavior::EVENT_INSERT, HistoryBehavior::EVENT_UPDATE, HistoryBehavior::EVENT_DELETE, ], // list of attributes which not need track at updating. Apply only for `HistoryBehavior::EVENT_UPDATE`. 'skipAttributes' => [ 'name_of_attribute_1', 'name_of_attribute_2', ], // list of custom attributes which which are a pair of `key`=>`value` where `key` is attribute name and // `value` it anonymous callback function of attribute. Function will be apply for old and value information data. // Apply only for `HistoryBehavior::EVENT_UPDATE`. 'customAttributes' => [ 'name_of_attribute_3' => function($event, $isNewValue) { if ($isNewValue) { return $event->sender->name_of_attribute_3; } return $event->changedAttributes['name_of_attribute_3']; }, ], ]);
License
yii2-activerecord-history is released under the BSD 3-Clause License.
统计信息
- 总下载量: 100.07k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 27
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2016-01-02