Spec-Zone.ru › Yii 2.0

Класс yii\behaviors\BlameableBehavior

Все классы | Свойства | Методы
Наследование yii\behaviors\BlameableBehavior » yii\behaviors\AttributeBehavior » yii\base\Behavior » yii\base\Object
Реализует yii\base\Configurable
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/behaviors/BlameableBehavior.php

BlameableBehavior автоматически заполняет указанные атрибуты текущим ID пользователя.

Для использования BlameableBehavior, вставьте следующий код в свой класс ActiveRecord:

use yii\behaviors\BlameableBehavior;

public function behaviors()
{
    return [
        BlameableBehavior::className(),
    ];
}

По умолчанию, BlameableBehavior заполнит атрибуты created_by и updated_by текущим ID пользователя при вставке связанного объекта AR; он заполнит атрибут updated_by текущим ID пользователя при обновлении объекта AR.

Поскольку значения атрибутов будут устанавливаться автоматически этим поведением, они обычно не являются пользовательским вводом и, следовательно, не должны проверяться, т. е. created_by и updated_by не должны появляться в методе rules() модели.

Если имена ваших атрибутов отличаются, вы можете настроить свойства $createdByAttribute и $updatedByAttribute, как показано ниже:

public function behaviors()
{
    return [
        [
            'class' => BlameableBehavior::className(),
            'createdByAttribute' => 'author_id',
            'updatedByAttribute' => 'updater_id',
        ],
    ];
}

Общедоступные свойства

Свойство Тип Описание Определено в
$attributes массив Список атрибутов, которые будут автоматически заполняться значением, указанным через $value. yii\behaviors\AttributeBehavior
$createdByAttribute строка Атрибут, который получит значение текущего ID пользователя. Установите это свойство в false, если вы не хотите записывать ID создателя. yii\behaviors\BlameableBehavior
$owner yii\base\Component|null Владелец этого поведения yii\base\Behavior
$preserveNonEmptyValues булево Сохранять ли непустые значения атрибутов. yii\behaviors\AttributeBehavior
$skipUpdateOnClean булево Пропустить ли это поведение, когда $owner не был изменен. yii\behaviors\AttributeBehavior
$updatedByAttribute строка Атрибут, который получит значение текущего ID пользователя. Установите это свойство в false, если вы не хотите записывать ID обновляющего пользователя. yii\behaviors\BlameableBehavior
$value смешанное Значение, которое будет назначено текущим атрибутам. yii\behaviors\BlameableBehavior

Общедоступные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т. е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
attach() Присоединяет объект поведения к компоненту. yii\base\Behavior
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
detach() Отсоединяет объект поведения от компонента. yii\base\Behavior
evaluateAttributes() Вычисляет значение атрибута и присваивает его текущим атрибутам. yii\behaviors\AttributeBehavior
events() Объявляет обработчики событий для событий $owner. yii\behaviors\AttributeBehavior
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\behaviors\BlameableBehavior

Защищенные методы

Метод Описание Определено в
getValue() Возвращает значение для текущих атрибутов. yii\behaviors\BlameableBehavior

Подробное описание свойств

$createdByAttribute общедоступное свойство

Атрибут, который получит значение текущего ID пользователя. Установите это свойство в false, если вы не хотите записывать ID создателя.

public string $createdByAttribute = 'created_by'

$updatedByAttribute общедоступное свойство

Атрибут, который получит значение текущего ID пользователя. Установите это свойство в false, если вы не хотите записывать ID обновляющего пользователя.

public string $updatedByAttribute = 'updated_by'

$value общедоступное свойство

Значение, которое будет назначено текущим атрибутам. Это может быть анонимная функция, вызываемый объект в формате массива (например, [$this, 'methodName']), объект Expression, представляющий выражение базы данных (например, new Expression('NOW()')), скаляр, строка или произвольное значение. Если это функция, то возвращаемое значение функции будет назначено атрибутам. Подпись функции должна быть следующей:

function ($event)
{
    // return value will be assigned to the attribute
}

В случае, когда свойство null, будет использоваться значение Yii::$app->user->id.

public mixed $value = null

Подробное описание методов

getValue() защищённый метод

Возвращает значение для текущих атрибутов.

Этот метод вызывается методом evaluateAttributes(). Его возвращаемое значение будет присвоено атрибутам, соответствующим вызвавшему событию.

В случае, когда свойство $value null, значение Yii::$app->user->id будет использовано как значение.

защищённый смешанный тип getValue ( $event )
$event yii\base\Event

Событие, вызывающее обновление текущего атрибута.

return смешанный тип

Значение атрибута

init() публичный метод

Инициализирует объект.

Этот метод вызывается в конце конструктора после инициализации объекта заданной конфигурацией.

публичный void init ( )

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-behaviors-blameablebehavior.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API