CFormModel
| Пакет | system.web |
|---|---|
| Наследование | класс CFormModel » CModel » CComponent |
| Реализует | ArrayAccess, Traversable, IteratorAggregate |
| Подклассы | CCodeModel |
| С момента | 1.0 |
| Исходный код | framework/web/CFormModel.php |
CFormModel представляет модель данных, которая собирает вводимые HTML-формы.
В отличие от CActiveRecord, данные, собранные CFormModel, хранятся только в памяти, а не в базе данных.
Для сбора пользовательского ввода вы можете расширить CFormModel и определить атрибуты, значения которых должны быть собраны из пользовательского ввода. Вы можете переопределить rules() для объявления правил валидации, которые должны применяться к атрибутам.
В отличие от CActiveRecord, данные, собранные CFormModel, хранятся только в памяти, а не в базе данных.
Для сбора пользовательского ввода вы можете расширить CFormModel и определить атрибуты, значения которых должны быть собраны из пользовательского ввода. Вы можете переопределить rules() для объявления правил валидации, которые должны применяться к атрибутам.
Общественные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| attributes | массив | Возвращает все значения атрибутов. | CModel |
| errors | массив | Возвращает ошибки для всех атрибутов или одного атрибута. | CModel |
| iterator | CMapIterator | Возвращает итератор для перебора атрибутов в модели. | CModel |
| safeAttributeNames | массив | Возвращает имена атрибутов, которые безопасно присваивать массивными операциями. | CModel |
| scenario | строка | Возвращает сценарий, в котором используется эта модель. | CModel |
| validatorList | CList | Возвращает все валидаторы, объявленные в модели. | CModel |
| validators | массив | Возвращает валидаторы, применимые к текущему сценарию. | CModel |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с указанным именем, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CFormModel |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение по его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства нулевым. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в значение null. | CComponent |
| addError() | Добавляет новую ошибку к указанному атрибуту. | CModel |
| addErrors() | Добавляет список ошибок. | CModel |
| asa() | Возвращает объект поведения с указанным именем. | CComponent |
| attachBehavior() | Присоединяет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Присоединяет список поведений к компоненту. | CComponent |
| attachEventHandler() | Присоединяет обработчик событий к событию. | CComponent |
| attributeLabels() | Возвращает метки атрибутов. | CModel |
| attributeNames() | Возвращает список имён атрибутов. | CFormModel |
| behaviors() | Возвращает список поведений, которые должен иметь этот модель. | CModel |
| canGetProperty() | Определяет, может ли свойство быть прочитано. | CComponent |
| canSetProperty() | Определяет, может ли свойство быть установлено. | CComponent |
| clearErrors() | Удаляет ошибки для всех атрибутов или одного атрибута. | CModel |
| createValidators() | Создаёт объекты валидаторов на основе спецификаций в правилах. | CModel |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает присоединённое поведение. | CComponent |
| disableBehaviors() | Отключает все присоединённые к этому компоненту поведения. | CComponent |
| enableBehavior() | Включает присоединённое поведение. | CComponent |
| enableBehaviors() | Включает все присоединённые к этому компоненту поведения. | CComponent |
| evaluateExpression() | Вычисляет PHP выражение или обратный вызов в контексте этого компонента. | CComponent |
| generateAttributeLabel() | Генерирует понятную метку атрибута. | CModel |
| getAttributeLabel() | Возвращает текстовую метку для указанного атрибута. | CModel |
| getAttributes() | Возвращает все значения атрибутов. | CModel |
| getError() | Возвращает первую ошибку указанного атрибута. | CModel |
| getErrors() | Возвращает ошибки для всех атрибутов или одного атрибута. | CModel |
| getEventHandlers() | Возвращает список присоединённых обработчиков событий для события. | CComponent |
| getIterator() | Возвращает итератор для обхода атрибутов в модели. | CModel |
| getSafeAttributeNames() | Возвращает имена атрибутов, которые безопасно назначать массивными операциями. | CModel |
| getScenario() | Возвращает сценарий, в котором используется эта модель. | CModel |
| getValidatorList() | Возвращает все объявленные в модели валидаторы. | CModel |
| getValidators() | Возвращает валидаторы, применимые к текущему сценарию. | CModel |
| hasErrors() | Возвращает значение, указывающее, есть ли ошибка валидации. | CModel |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли прикреплённые обработчики для события с указанным именем. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | Инициализирует эту модель. | CFormModel |
| isAttributeRequired() | Возвращает значение, указывающее, является ли атрибут обязательным. | CModel |
| isAttributeSafe() | Возвращает значение, указывающее, является ли атрибут безопасным для массового назначения. | CModel |
| offsetExists() | Возвращает, существует ли элемент по указанному смещению. | CModel |
| offsetGet() | Возвращает элемент по указанному смещению. | CModel |
| offsetSet() | Устанавливает элемент по указанному смещению. | CModel |
| offsetUnset() | Удаляет элемент по указанному смещению. | CModel |
| onAfterConstruct() | Это событие срабатывает после создания экземпляра модели оператором new. | CModel |
| onAfterValidate() | Это событие срабатывает после выполнения валидации. | CModel |
| onBeforeValidate() | Это событие срабатывает перед выполнением валидации. | CModel |
| onUnsafeAttribute() | Этот метод вызывается, когда атрибут небезопасен и используется массовое назначение. | CModel |
| raiseEvent() | Вызывает событие. | CComponent |
| rules() | Возвращает правила валидации для атрибутов. | CModel |
| setAttributes() | Устанавливает значения атрибутов массивом. | CModel |
| setScenario() | Устанавливает сценарий для модели. | CModel |
| unsetAttributes() | Устанавливает атрибуты в null. | CModel |
| validate() | Выполняет валидацию. | CModel |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| afterConstruct() | Этот метод вызывается после создания экземпляра модели оператором new. | CModel |
| afterValidate() | Этот метод вызывается после завершения валидации. | CModel |
| beforeValidate() | Этот метод вызывается перед началом валидации. | CModel |
События
| Событие | Описание | Определено в |
|---|---|---|
| onAfterConstruct | Это событие генерируется после создания экземпляра модели оператором new. | CModel |
| onBeforeValidate | Это событие генерируется перед выполнением валидации. | CModel |
| onAfterValidate | Это событие генерируется после выполнения валидации. | CModel |
| onUnsafeAttribute | Этот метод вызывается, когда атрибут небезопасного типа присваивается массивным способом. | CModel |
Подробное описание методов
__construct() метод
public void __construct(string $scenario='') | ||
| $scenario | string | имя сценария, в котором используется эта модель. См. CModel::scenario для получения информации о том, как модели используют сценарий. |
Исходный код: framework/web/CFormModel.php#36 (показать)
public function __construct($scenario='')
{
$this->setScenario($scenario);
$this->init();
$this->attachBehaviors($this->behaviors());
$this->afterConstruct();
}
Конструктор.
См. также
attributeNames() метод
public array attributeNames() | ||
| {return} | array | список имен атрибутов. По умолчанию — все публичные свойства класса. |
Исходный код: framework/web/CFormModel.php#60 (показать)
public function attributeNames()
{
$className=get_class($this);
if(!isset(self::$_names[$className]))
{
$class=new ReflectionClass(get_class($this));
$names=array();
foreach($class->getProperties() as $property)
{
$name=$property->getName();
if($property->isPublic() && !$property->isStatic())
$names[]=$name;
}
return self::$_names[$className]=$names;
}
else
return self::$_names[$className];
}
Возвращает список имен атрибутов. По умолчанию этот метод возвращает все публичные свойства класса. Вы можете переопределить этот метод, чтобы изменить значение по умолчанию.
init() метод
public void init() |
Инициализирует модель. Этот метод вызывается в конструкторе сразу после установки сценария. Вы можете переопределить этот метод, чтобы обеспечить код, необходимый для инициализации модели (например, установка начальных значений свойств.)
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CFormModel