readly24/yii2-logs

Logs

Installs: 6

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:yii2-extension

dev-master 2018-06-02 13:06 UTC

This package is not auto-updated.

Last update: 2024-09-23 21:02:49 UTC


README

Logs

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist readly24/yii2-logs "*"

or add

"readly24/yii2-logs": "*"

to the require section of your composer.json file.

Usage

Once the extension is installed, simply use it in your code by :

Вам нужно сделать миграцию:

yii migrate --migrationPath=@vendor/ready24/yii2-logs/src/migrations

Если вы хотите применить к определёному таблицы вам нужно создать связь между ними и в той модели (ActiveRecord) таблицы, реализовать интерфейс LogInterface

После вам нужно добавить в ваш класс новое поведение:

ready24\logs\behaviors\LogBehavior

и тогда вы сможете добавить новый лог имено к этой модели

$task = Tasks::findOne(1);
$task->createLog("Ваш лог");

или если вам не нужно данное удобство вы можете использовать статисческий метод класса Logs

/**
    @param mixed $message
    @param LogInterface|ActiveRecord $model
*/
Logs::create($message,$model = null);

Пример 1:

 <?=\ready24\logs\widgets\LogWidget::widget([
           'model' => $model,
            'view' => '@your/path/to/view',
            'provider' => [
                    'pagination' => [
                            'pageSize' => 20
                    ]
            ]
    ])?>

view

/**
 * @var \ready24\logs\models\Logs $log
 * @var \yii\db\ActiveRecord $model
 * @var \yii\data\BaseDataProvider $provider
 */
 
echo ListView::widget([
        'dataProvider' => $provider,
        'itemOptions' => ['class' => 'item'],
        'itemView' => function ($log, $key, $index, $widget) use ($model) {
                return $log->render($model);
        }
    ]);

Пример 2:

 <?=\ready24\logs\widgets\LogListWidget::widget([
           'model' => $model,
            'provider' => [
                    'pagination' => [
                            'pageSize' => 20
                    ]
            ],
            'itemOptions' => ['class' => 'item'],
            'itemView' => function ($log, $key, $index, $widget) use ($model) {
                return $log->render($model);
            }
    ])?>