• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Engine/AutoWire/Binder.php
  • Класс: Bitrix\Crm\Engine\AutoWire\Binder
  • Вызов: Binder::registerDefaultAutoWirings
static function registerDefaultAutoWirings(): void
{
	\Bitrix\Main\Engine\AutoWire\Binder::registerGlobalAutoWiredParameter(new ExactParameter(
			Factory::class,
			'factory',
			static function ($className, ?int $entityTypeId = null, ?string $entityTypeName = null) {
				if ($entityTypeId === null && $entityTypeName !== null)
				{
					$entityTypeId = \CCrmOwnerType::ResolveID($entityTypeName);
				}

				if ($entityTypeId)
				{
					return Container::getInstance()->getFactory($entityTypeId);
				}

				return null;
			}
		)
	);

	\Bitrix\Main\Engine\AutoWire\Binder::registerGlobalAutoWiredParameter(new ExactParameter(
			Item::class,
			'entity',
			static function ($className, int $entityId, ?Factory $factory = null) {
				if ($factory)
				{
					return $factory->getItem($entityId);
				}

				return null;
			}
		)
	);
}