PHP code example of bupy7 / yii2-activerecord-history
1. Go to this page and download the library: Download bupy7/yii2-activerecord-history library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bupy7 / yii2-activerecord-history example snippets
use bupy7\activerecord\history\behaviors\History as HistoryBehavior;
$model->attachBehavior('arHistory', HistoryBehavior::className());
'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
],
],
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'];
},
],
]);
php composer.phar
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.