• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/engine/router.php
  • Класс: BitrixMainEngineRouter
  • Вызов: Router::getAjaxClassForPath
private function getAjaxClassForPath($componentPath)
{
	$filename = BitrixMainApplication::getDocumentRoot() . $componentPath . '/ajax.php';
	if (!file_exists($filename) || !is_file($filename))
	{
		return null;
	}

	$beforeClasses = get_declared_classes();
	$beforeClassesCount = count($beforeClasses);
	include_once($filename);
	$afterClasses = get_declared_classes();
	$afterClassesCount = count($afterClasses);
	$furthestClass = null;
	for ($i = $afterClassesCount - 1; $i >= $beforeClassesCount; $i--)
	{
		if (
			is_subclass_of($afterClasses[$i], Controller::class) ||
			($furthestClass && is_subclass_of($afterClasses[$i], $furthestClass))
		)
		{
			$furthestClass = $afterClasses[$i];
		}
	}

	return $furthestClass;
}