PHPackages                             neoacevedo/yii2-auditing - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. neoacevedo/yii2-auditing

ActiveYii2-extension[Logging &amp; Monitoring](/categories/logging)

neoacevedo/yii2-auditing
========================

Registra cambios de sus modelos ActiveRecord de Yii2

25.12.22(4mo ago)2511GPL-3.0+PHPPHP &gt;=8.2

Since Oct 21Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/neoacevedo/yii2-auditing)[ Packagist](https://packagist.org/packages/neoacevedo/yii2-auditing)[ Fund](https://ko-fi.com/neoacevedo)[ RSS](/packages/neoacevedo-yii2-auditing/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (15)Used By (1)

Yii2 Auditing
=============

[](#yii2-auditing)

Registra cambios de sus modelos ActiveRecord de Yii2.

Este paquete permite mantener un historial de cambios de los modelos proveyendo información sobre posibles discrepancias o anomalías en la información que puedan indicar actividades sospechosas. La información recibida y almacenada se puede posteriormente desplegar de diversas maneras.

Instalación
-----------

[](#instalación)

La forma preferida de instalar esta extensión es a través de [composer](http://getcomposer.org/download/).

Luego ejecute

```
php composer.phar require --prefer-dist neoacevedo/yii2-auditing "*"

```

o agregue

```
"neoacevedo/yii2-auditing": "*"

```

a la sección require de su archivo `composer.json`.

Uso
---

[](#uso)

Una vez que la extensión está instalada, en el archivo de configuración de la consola de su aplicación, agregue en la zona `migrationPath`

```
...
'@vendor/neoacevedo/yii2-auditing/neoacevedo/auditing/migrations',
...
```

luego, agregue en el código de su modelo dentro del método `behaviors`:

```
public function behaviors()
{
    return [
        [
            'class' => \neoacevedo\auditing\behaviors\AuditBehavior::class,
            'deleteOldData' => true, // Para borrar datos antiguos del registro de eventos
            'deleteNumRows' => 20, // Borra esta cantidad de registros
            'ignored' => ['foo', 'bar'], // No registra en el registro de eventos estos atributos del modelo
        ],
        ...
    ];
}
```

Desplegando la información
--------------------------

[](#desplegando-la-información)

Puede desplegar la información como cualquier modelo que haya implementado dentro de su aplicación web.

Puede hacer uso de un controlador y una vista que use `GridView` para listar el historial. Por ejemplo, puede crear un controllador que se llame `AuditingController` y crear el método `actionIndex` como lo siguiente:

```
    /**
     * Lists all Auditing models.
     *
     * @return string
     */
    public function actionIndex()
    {
        $searchModel = new AuditingSearch();
        $dataProvider = $searchModel->search($this->request->queryParams);

        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ]);
    }
```

Para visualizar los datos, crear el método `actionView`:

```
    /**
     * Displays a single Auditing model.
     * @param int $id ID
     * @return string
     * @throws NotFoundHttpException if the model cannot be found
     */
    public function actionView($id)
    {
        return $this->render('view', [
            'model' => $this->findModel($id),
        ]);
    }
```

Dentro de la vista `view` puede agregar el `GridView` para listar el histórico:

```
...
