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