Просмотров: 156889
Дата последнего изменения: 18.08.2021
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
2
3
4
5
Недоступно в лицензиях:
Ограничений нет
ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение) - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». (Wikipedia)
Введение
В старом ядре на каждую сущность программируется свой GetList, Update, Add, Delete.
Недостатки такой идеологии:
- разный набор параметров;
- разный синтаксис полей фильтров;
- события могут быть или не быть;
- иногда разный код под разные БД (
Add
).
В D7:
Операции выборки и сохранения в БД - однотипные, с одинаковыми параметрами и фильтрами. По возможности, таблицы сущностей обслуживаются минимумом нового кода. Стандартные события добавления/изменения/удаления доступны автоматически.
Для реализации этих целей введены понятия:
- Cущности (Bitrix\Main\Entity\Base);
- Поля сущностей (Bitrix\Main\Entity\Field и его наследники);
- Датаменеджер (Bitrix\Main\Entity\DataManager).
Сущность описывает таблицу в БД, в том числе содержит поля сущностей. Датаменеджер производит операции выборки и изменения сущности. На практике же работа в основном ведется на уровне датаменеджера.
Внимание! Перед началом разработки убедитесь что в выбранном вами модуле есть классы и методы ядра D7. Проверить это можно по наличию описания в документации по
D7.
Примечание: В главе приведены абстрактные примеры для понимания. Использование их в режиме copy\paste может не дать результатов в вашем проекте. Примеры нужно адаптировать под ваш конкретный код и структуру базы данных.