143  /  382
Справочник

ORM

Просмотров: 164826
Дата последнего изменения: 18.08.2021
Татьяна Старкова
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
1
2
3
4
5
Недоступно в лицензиях:
Ограничений нет

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

Введение

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

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

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

В D7:

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

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

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

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

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

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



Содержание главы:

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

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