Документация для разработчиков
Темная тема

Registry

Описание и пример

Класс для хранения инстансов фабрик. Синглтон.

Сбор инстансов осуществляется через событие onGetUserFieldTypeFactory.

Пример добавления своей фабрики

Полностью работающая схема есть в модуле RPA.


Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'onGetUserFieldTypeFactory', static function(){
	return [
		new MyFactory(),
	];
});

Методы

Метод Описание С версии
public static function getInstance(): Registry Возвращает инстанс
public function registerFactory(TypeFactory $factory) Регистрирует новую фабрику
public function registerTypeByEntity(Entity $entity, array $type): void Добавляет во внутреннее хранилище информацию о типе $type по скомпилированной сущности $entity таблета элементов.
public function getTypeByEntity(Entity $entity): ?array Возвращает информацию о типе по скомпилированной сущности $entity таблета элементов
public function getFactoryByCode(string $code): ?TypeFactory Возвращает инстанс фабрики по её строковому идентификатору $code
public function getFactoryByTypeDataClass($typeDataClass): ?TypeFactory Возвращает инстанс фабрики по названию класса таблета для типов
public function getUserFieldEntityIdByItemEntity(Entity $entity): ?string Возвращает строковый идентификатор пользовательских полей для скомпилированной сущности $entity


© «Битрикс», 2001-2024, «1С-Битрикс», 2024