Fi1osof 16 декабря 2013 0 0
Всем, для кого еще не совсем понятно что к чему в мап-файле, советую к ознакомлению краткий экскурс.

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L3
Название пакета (регистр имеет значение).
Это особенно критично, если используется нестандартный префикс для таблиц. То есть префикс указывается в настройках пакета, и если имя пакета будет не то, тогда не будут получены настройки пакета и будет использоваться префикс по умолчанию. Приведет к SQL-ошибке.

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L5
Имя таблицы в БД (без учета префикса. Полное название таблицы формируется динамически).

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L6
Это на самом деле не имеет значения. Истинное наследование пляшет от расширения класса, то есть в основном файле класса, к примеру class Order extends xPDOSimpleObject{}.

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L7
Перечеслены колонки.

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L20
Данные колонок (используется в том числе и в создании таблицы в БД на основе мета-данных класса).
Создание таблиц на основе мап-данных класса выполняется через метод $modx->getManager()->createObjectContainer($className);

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L104
Индексы таблицы. Так же участвуют в создании таблицы.

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L203
НЕ жесткие связи с другими классами. То есть позволит, к примеру, получить $object->getOne('Status'). Но при удалении объекта связанные объекты не будут удалены.

gist.github.com/Fi1osof/92d94e2ba8d6095c795b#file-gistfile1-php-L229
Жесткие связи. То есть при удалении объекта все связанные объекты OrderProduct так же будут автоматически удалены из БД.
0 комментариев
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.