Типы репозиториев
Все репозитории следуют интерфейсу Pranju\Bitrix24\Contracts\Repositories\Repository. Он содержит базовый набор инструкций для всех репозиториев. Дальше все репозитории в раках того же пространства имён делятся согласно методам ORM, доступных для сущностей. Это нужно для того, чтобы избежать ситуации, когда мы пытаемся например создать какую-то сущность, которая не может быть создана по API.
Реализованы следующие функциональные интерфейсы:
CanGetItem - определяет интерфейс для получения одного элемента
CanCreateItem - определяет интерфейс для создания одного элемента
CanUpdateItem - определяет интерфейс для обновления одного элемента
CanDeleteItem - определяет интерфейс для удаления одного элемента
SelectsItems - определяет интерфейс для получения множества элементов. Все репозитории, наследующие этот интерфейс лишены ограничения по количеству получаемых сущностей, но следуют правилу кратности 50-и параметров
start
иlimit
Каждый из описанных интерфейсов добавляет три метода:
Конструктор - это метод отвечает за создание команды для выполнения соответствующего интерфейсу действия. Как правило, начинается с
make
.Обработчик - это метод, который может обработать полученный при выполнении сгенерированной команды ответ, возвращая всегда ожидаемый ответ.
Действие - это комбинация предыдущих двух запросов. Генерирует команду через креатор, обрабатывает ответ обработчиком и возвращает его. Используется, когда нам не нужно работать с командами напрямую и необходимо сразу получить ответ.
Last updated