...Человеческий поиск в разработке...
- Модуль: ui
- Путь к файлу: ~/bitrix/modules/ui/lib/FileUploader/ControllerResolver.php
- Класс: BitrixUIFileUploaderControllerResolver
- Вызов: ControllerResolver::createController
static function createController(string $controllerName, array $options = []): ?UploaderController { [$moduleId, $className] = self::resolveName($controllerName); if (!is_string($className)) { return null; } if (is_string($moduleId) && self::canIncludeModule($moduleId)) { Loader::includeModule($moduleId); } try { $controllerClass = new ReflectionClass($className); if ($controllerClass->isAbstract()) { return null; } if (!$controllerClass->isSubclassOf(UploaderController::class)) { return null; } /** @var UploaderController $controller */ $controller = $controllerClass->newInstance($options); // $baseClass = new ReflectionClass(UploaderController::class); // $moduleIdProperty = $baseClass->getProperty('moduleId'); // $moduleIdProperty->setAccessible(true); // $moduleIdProperty->setValue($controller, $moduleId); // // $nameProperty = $baseClass->getProperty('name'); // $nameProperty->setAccessible(true); // $nameProperty->setValue($controller, $controllerName); if (!$controller->isAvailable()) { return null; } return $controller; } catch (ReflectionException $exception) { $application = HttpApplication::getInstance(); $exceptionHandler = $application->getExceptionHandler(); $exceptionHandler->writeToLog($exception); } return null; }