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