Инструменты пользователя

Инструменты сайта


limb3_2007_4:ru:packages:active_record:value_objects

Поддержка ValueObjects

В lmbActiveRecord также встроена первоначальная поддержка так называемых ValueObjects. Это объекты каких-либо классов, которые хранятся lmbActiveRecord, однако в базе данных они не представлены отдельными таблицами и хранятся в виде одного или нескольких полей в тех же таблицах, что и сами активные записи.

В настоящее время lmbActiveRecord поддерживает ValueObjects, состоящие только из одного поля.

ValuesObjects описываются посредством атрибута _composed_of:

class Lesson extends lmbActiveRecord
{
  protected $_composed_of = array('date_start' => array('field' => 'date_start',
                                                        'class' => 'lmbDate',
                                                        'getter' => 'getStamp'),
                                  'date_end' => array('field' => 'date_end',
                                                      'class' => 'lmbDate',
                                                      'getter' => 'getStamp'));
}

Немного поясним то, как описывается этот атрибут. _composed_of - это массив, в котором ключом является название поля, по которому можно получить ValueObject. Значение поля массива _composed_of - это другой массив, в котором присутствуют поля field - название поля в таблице базы данных, где хранится значение для ValueObject, class - название класса ValueObject и getter - метод класса class по которому можно получить значение, которое будет сохранено в field.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
  _____  __  __   __  ___   __    ____
 / ___/ / / / /  /  |/  /  / /   / __/
/ (_ / / /_/ /  / /|_/ /  / /__ _\ \  
\___/  \____/  /_/  /_/  /____//___/
 
limb3_2007_4/ru/packages/active_record/value_objects.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)