Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Вычисляемые и виртуальные поля модели

Вычисляемые поля – это механизм преобразования данных из внутреннего формата хранения во внешний формат. Типовой пример вычисляемого поля – «дата создания», которая хранится в БД в mysql формате даты, но выдается моделью наружу в формате, соответствующем текущей локализации.
Виртуальные поля – это поля, которые физически не существуют в БД, как отдельное поле, но возвращаются моделью. Пример виртуального поля – поле «возраст», которое вычисляется «на лету» в зависимости от даты рождения, и которое не нужно сохранять в БД.
Виртуальные поля являются частным видом вычисляемых полей, поэтому далее будет идти речь только о вычисляемых полях.
Для того чтобы обозначить поле, как вычисляемое, в конструкторе модели элемента необходимо вызвать метод setFieldCallback.

Пример:

$this->setFieldCallback('birth', array($this, 'fcbDate'));

Первый параметр – название свойства модели, второй – callback. Существует ряд стандартных callback-функций, описанных в API, они начинаются с префикса fcb. Пример использования из документации:

// InstAmiSample_TableItem::__construct()
$this->setFieldCallback('birth', array($this, 'fcbDate'));

Существует возможность добавления собственных callback-функций. Пример добавления и прототип для собственных callback-функций приведен в описании метода setFieldCallback.
Рекомендуется для собственных callback-функций использовать префикс fcb.

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.