33  /  331

ORM

Просмотров: 13195 (Статистика ведётся с 06.02.2017)

ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение) - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». (Wikipedia)

Введение

В старом ядре на каждую сущность программируется свой GetList, Update, Add, Delete.

Недостатки такой идеологии:

  • разный набор параметров;
  • разный синтаксис полей фильтров;
  • события могут быть или не быть;
  • иногда разный код под разные БД (Add).

Цели в новом ядре:

Сделать операции выборки и сохранения в БД однотипными, с одинаковыми параметрами и фильтрами. По возможности, таблицы сущностей должны обслуживаться минимумом нового кода. Стандартные события добавления/изменения/удаления должны быть доступны автоматически.

Для реализации этих целей были введены понятия:

  1. Cущности (Bitrix\Main\Entity\Base);
  2. Поля сущностей (Bitrix\Main\Entity\Field и его наследники);
  3. Датаменеджер (Bitrix\Main\Entity\DataManager).

Сущность описывает таблицу в БД, в т.ч. содержит поля сущностей. Датаменеджер производит операции выборки и изменения сущности. На практике же работа в основном ведется на уровне датаменеджера.

Внимание! Перед началом разработки убедитесь что в выбранном вами модуле есть классы и методы нового ядра. Проверить это можно по наличию описания в документации по D7.

Примечание: В главе приведены абстрактные примеры для понимания. Использование их в режиме copy\paste может не дать результатов в вашем проекте. Примеры нужно адаптировать под ваш конкретный код и структуру базы данных.




25
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии