Класс yii\debug\models\UserSwitch
| Наследование | yii\debug\models\UserSwitch » yii\base\Model » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | ArrayAccess, IteratorAggregate, yii\base\Arrayable, yii\base\Configurable |
| Использует трейты | yii\base\ArrayableTrait |
| Исходный код | https://github.com/yiisoft/yii2-debug/blob/master/models/UserSwitch.php |
UserSwitch — это модель, используемая для временного входа в систему под другим пользователем
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $activeValidators | yii\validators\Validator[] | Валидаторы, применимые к текущему $scenario. | yii\base\Model |
| $attributes | массив | Значения атрибутов (имя => значение). | yii\base\Model |
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений | yii\base\Component |
| $errors | массив | Ошибки для всех атрибутов или указанного атрибута. | yii\base\Model |
| $firstErrors | массив | Первые ошибки. | yii\base\Model |
| $iterator | ArrayIterator | Итератор для обхода элементов в списке. | yii\base\Model |
| $mainUser | yii\web\User | yii\debug\models\UserSwitch | |
| $scenario | строка | Сценарий, в котором находится эта модель. | yii\base\Model |
| $user | null|yii\web\User | yii\debug\models\UserSwitch | |
| $userByIdentity | yii\web\IdentityInterface | yii\debug\models\UserSwitch | |
| $validators | ArrayObject|yii\validators\Validator[] | Все валидаторы, объявленные в модели. | yii\base\Model |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| activeAttributes() | Возвращает имена атрибутов, которые подвергаются валидации в текущем сценарии. | yii\base\Model |
| addError() | Добавляет новую ошибку к указанному атрибуту. | yii\base\Model |
| addErrors() | Добавляет список ошибок. | yii\base\Model |
| afterValidate() | Этот метод вызывается после завершения валидации. | yii\base\Model |
| attachBehavior() | Присоединяет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| attributeHints() | Возвращает подсказки к атрибутам. | yii\base\Model |
| attributeLabels() | yii\debug\models\UserSwitch | |
| attributes() | Возвращает список имён атрибутов. | yii\base\Model |
| beforeValidate() | Этот метод вызывается перед началом валидации. | yii\base\Model |
| behaviors() | Возвращает список поведений, которые должен проявлять данный компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| clearErrors() | Удаляет ошибки для всех атрибутов или одного атрибута. | yii\base\Model |
| createValidators() | Создаёт объекты валидаторов на основе правил валидации, указанных в rules(). | yii\base\Model |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| extraFields() | Возвращает список полей, которые могут быть расширены и возвращены методом toArray(). | yii\base\ArrayableTrait |
| fields() | Возвращает список полей, которые должны быть возвращены по умолчанию методом toArray(), если не указаны конкретные поля. | yii\base\ArrayableTrait |
| formName() | Возвращает имя формы, которое должен использовать этот класс модели. | yii\base\Model |
| generateAttributeLabel() | Генерирует удобочитаемое имя атрибута на основе имени атрибута. | yii\base\Model |
| getActiveValidators() | Возвращает валидаторы, применимые к текущему $scenario. | yii\base\Model |
| getAttributeHint() | Возвращает текстовую подсказку для указанного атрибута. | yii\base\Model |
| getAttributeLabel() | Возвращает текстовую метку для указанного атрибута. | yii\base\Model |
| getAttributes() | Возвращает значения атрибутов. | yii\base\Model |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все поведения, присоединённые к данному компоненту. | yii\base\Component |
| getErrors() | Возвращает ошибки для всех атрибутов или одного атрибута. | yii\base\Model |
| getFirstError() | Возвращает первую ошибку для указанного атрибута. | yii\base\Model |
| getFirstErrors() | Возвращает первую ошибку для каждого атрибута в модели. | yii\base\Model |
| getIterator() | Возвращает итератор для перебора атрибутов в модели. | yii\base\Model |
| getMainUser() | Получить основного пользователя | yii\debug\models\UserSwitch |
| getScenario() | Возвращает сценарий, в котором используется эта модель. | yii\base\Model |
| getUser() | Получить текущего пользователя | yii\debug\models\UserSwitch |
| getValidators() | Возвращает все валидаторы, объявленные в rules(). | yii\base\Model |
| hasErrors() | Возвращает значение, указывающее, есть ли ошибки валидации. | yii\base\Model |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчики, присоединённые к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| isAttributeActive() | Возвращает значение, указывающее, активен ли атрибут в текущем сценарии. | yii\base\Model |
| isAttributeRequired() | Возвращает значение, указывающее, является ли атрибут обязательным. | yii\base\Model |
| isAttributeSafe() | Возвращает значение, указывающее, является ли атрибут безопасным для массового назначения. | yii\base\Model |
| isMainUser() | Проверяет, является ли текущий пользователь основным. | yii\debug\models\UserSwitch |
| load() | Заполняет модель входными данными. | yii\base\Model |
| loadMultiple() | Заполняет набор моделей данными от пользователя. | yii\base\Model |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| offsetExists() | Возвращает, существует ли элемент по указанному смещению. | yii\base\Model |
| offsetGet() | Возвращает элемент по указанному смещению. | yii\base\Model |
| offsetSet() | Устанавливает элемент по указанному смещению. | yii\base\Model |
| offsetUnset() | Устанавливает значение элемента по указанному смещению в null. | yii\base\Model |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| onUnsafeAttribute() | Этот метод вызывается при массовом назначении небезопасного атрибута. | yii\base\Model |
| reset() | Сбросить до основного пользователя | yii\debug\models\UserSwitch |
| rules() | Возвращает правила валидации для атрибутов. | yii\debug\models\UserSwitch |
| safeAttributes() | Возвращает имена атрибутов, которые безопасно присваивать массово в текущем сценарии. | yii\base\Model |
| scenarios() | Возвращает список сценариев и соответствующие активные атрибуты. | yii\base\Model |
| setAttributes() | Устанавливает значения атрибутов массовым способом. | yii\base\Model |
| setScenario() | Устанавливает сценарий для модели. | yii\base\Model |
| setUser() | Переключить пользователя | yii\debug\models\UserSwitch |
| setUserByIdentity() | Переключиться на пользователя по идентификатору | yii\debug\models\UserSwitch |
| toArray() | Преобразует модель в массив. | yii\base\ArrayableTrait |
| trigger() | Вызывает событие. | yii\base\Component |
| validate() | Выполняет валидацию данных. | yii\base\Model |
| validateMultiple() | Валидирует несколько моделей. | yii\base\Model |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| resolveFields() | Определяет, какие поля могут быть возвращены методом toArray(). | yii\base\ArrayableTrait |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_VALIDATE | yii\base\Event | Событие, поднимаемое в конце validate() | yii\base\Model |
| EVENT_BEFORE_VALIDATE | yii\base\ModelEvent | Событие, поднимаемое в начале validate(). | yii\base\Model |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| SCENARIO_DEFAULT | 'default' | Имя сценария по умолчанию. | yii\base\Model |
Подробности свойств
$mainUser общедоступное только для чтения свойство
public yii\web\User getMainUser ( )
$user общедоступное свойство
public null|yii\web\User getUser ( )
public void setUser ( yii\web\User $user )
$userByIdentity общедоступное только для записи свойство
public void setUserByIdentity ( yii\web\IdentityInterface $identity )
Подробности методов
attributeLabels() public method
| public array attributeLabels ( ) | ||
|---|---|---|
| return | array |
Настраиваемые метки атрибутов |
getMainUser() public method
Получить основного пользователя
| public yii\web\User getMainUser ( ) |
|---|
getUser() public method
Получить текущего пользователя
| public null|yii\web\User getUser ( ) |
|---|
isMainUser() public method
Проверяет, является ли текущий пользователь основным.
| public boolean isMainUser ( ) |
|---|
reset() public method
Сбросить до основного пользователя
| public void reset ( ) |
|---|
rules() public method
Возвращает правила валидации для атрибутов.
Правила валидации используются методом validate() для проверки корректности значений атрибутов. Дочерние классы могут переопределять этот метод для объявления различных правил валидации.
Каждое правило — это массив со следующей структурой:
[
['attribute1', 'attribute2'],
'validator type',
'on' => ['scenario1', 'scenario2'],
//...other parameters...
]
где
- список атрибутов: обязательный, указывает массив атрибутов для валидации, для одного атрибута можно передать строку;
- тип валидатора: обязательный, указывает используемый валидатор. Это может быть встроенное имя валидатора, имя метода класса модели, анонимная функция или имя класса валидатора.
- on: необязательный, указывает массив сценариев, в которых правило валидации может применяться. Если этот параметр не задан, правило будет применяться ко всем сценариям.
- можно указать дополнительные пары имя-значение для инициализации соответствующих свойств валидатора. Обратитесь к API отдельных классов валидаторов для возможных свойств.
Валидатор может быть либо объектом класса, расширяющего \yii\debug\models\Validator, либо методом класса модели (так называемый встроенный валидатор), у которого есть следующий синтаксис:
// $params refers to validation parameters given in the rule function validatorName($attribute, $params)
В приведенном выше примере $attribute относится к атрибуту, который в данный момент проходит валидацию, а $params содержит массив параметров конфигурации валидатора, таких как max в случае валидатора string. Значение проверяемого атрибута можно получить как $this->$attribute. Обратите внимание на $ перед attribute; это берет значение переменной $attribute и использует его как имя свойства для доступа.
Yii также предоставляет набор \yii\debug\models\Validator::builtInValidators. У каждого есть псевдоним, который можно использовать при указании правила валидации.
Ниже приведены некоторые примеры:
[
// built-in "required" validator
[['username', 'password'], 'required'],
// built-in "string" validator customized with "min" and "max" properties
['username', 'string', 'min' => 3, 'max' => 12],
// built-in "compare" validator that is used in "register" scenario only
['password', 'compare', 'compareAttribute' => 'password2', 'on' => 'register'],
// an inline validator defined via the "authenticate()" method in the model class
['password', 'authenticate', 'on' => 'login'],
// a validator of class "DateRangeValidator"
['dateRange', 'DateRangeValidator'],
];
Обратите внимание, для наследования правил, определённых в родительском классе, дочерний класс должен объединить родительские правила с правилами дочернего класса, используя функции, такие как array_merge().
| public array rules ( ) | ||
|---|---|---|
| return | array |
Правила валидации |
setUser() public method
Сменить пользователя
| public void setUser ( yii\web\User $user ) | ||
|---|---|---|
| $user | yii\web\User | |
setUserByIdentity() public method
Переключиться на пользователя по идентификатору
| public void setUserByIdentity ( yii\web\IdentityInterface $identity ) | ||
|---|---|---|
| $identity | yii\web\IdentityInterface | |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-debug-models-userswitch.html