• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/v2/IoC/Container.php
  • Класс: BitrixCatalogv2IoCContainer
  • Вызов: Container::instantiateClass
private function instantiateClass($dependency, array $args = [])
{
	$class = new ReflectionClass($dependency);
	$constructor = $class->getConstructor();

	if ($constructor)
	{
		$invokeArguments = [];

		foreach ($constructor->getParameters() as $parameter)
		{
			$invokeArguments[] = $this->resolveParameter($parameter, $args);
		}

		return $class->newInstance(...$invokeArguments);
	}

	return $class->newInstanceWithoutConstructor();
}