nyx-solutions/yii2-nyx-behaviors

Yii2 nyx Behaviors

5.0.0 2022-06-03 03:17 UTC

This package is auto-updated.

Last update: 2024-10-30 01:53:58 UTC


README

Collection of useful behaviors for Yii Framework 2.0 (at the present there is only one behavior, the datetime behavior.).

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads Daily Downloads composer.lock

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist nyx-solutions/yii2-nyx-behaviors "*"

or add

"nyx-solutions/yii2-nyx-behaviors": "*"

to the require section of your composer.json file.

Usage

In your base ActiveRecord Model you can add the following behaviors method:

namespace common\models;

use \yii\helpers\ArrayHelper;

/**
 * Class ActiveRecordModel
 *
 * @package common\models
 */
class ActiveRecordModel extends \yii\db\ActiveRecord
{
    #region Behaviors
    /**
     * @inheritdoc
     */
    public function behaviors()
    {
        $behaviors = [];

        if ($this->hasAttribute('createdAt') && $this->hasAttribute('updatedAt')) {
            $behaviors['datetime'] = [
                'class'      => \nyx\behaviors\DateTimeBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['createdAt', 'updatedAt'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => 'updatedAt'
                ]
            ];
        }
        
        return ArrayHelper::merge(parent::behaviors(), $behaviors);
    }
    #endregion
}

License

yii2-nyx-behaviors is released under the BSD 3-Clause License. See the bundled LICENSE.md for details.

Yii2