• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/engine/autowire/controllerbinder.php
  • Класс: BitrixMainEngineAutoWireControllerBinder
  • Вызов: ControllerBinder::constructValue
protected function constructValue(ReflectionParameter $parameter, Parameter $autoWireParameter, Result $captureResult): Result
{
	$result = new Result();

	$controller = $this->getController();

	$errorsBefore = $controller->getErrors();
	$constructedValue = $autoWireParameter->constructValue($parameter, $captureResult, $controller);
	$errorsAfter = $controller->getErrors();

	$newErrors = array_diff($errorsAfter, $errorsBefore);

	$result->setData([
		'value' => $constructedValue,
	]);

	if ($newErrors)
	{
		$result->addErrors($newErrors);
	}

	return $result;
}