Spec-Zone.ru › Yii 1.1

CFormModel

Пакет system.web
Наследование класс CFormModel » CModel » CComponent
Реализует ArrayAccess, Traversable, IteratorAggregate
Подклассы CCodeModel
С момента 1.0
Исходный код framework/web/CFormModel.php
CFormModel представляет модель данных, которая собирает вводимые HTML-формы.

В отличие от 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();
}

Конструктор.

См. также

  • getScenario

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()
Исходный код: framework/web/CFormModel.php#50 (показать)
public function init()
{
}

Инициализирует модель. Этот метод вызывается в конструкторе сразу после установки сценария. Вы можете переопределить этот метод, чтобы обеспечить код, необходимый для инициализации модели (например, установка начальных значений свойств.)

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CFormModel

Spec-Zone.ru

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