• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/application.php
  • Класс: BitrixMainApplication
  • Вызов: Application::initializeRouter
protected function initializeRouter()
{
	$routes = new RoutingConfigurator();
	$router = new Router();
	$routes->setRouter($router);

	$this->setRouter($router);

	// files with routes
	$files = [];

	// user files
	$routingConfig = Configuration::getInstance()->get('routing');
	$documentRoot = $this->context->getServer()->getDocumentRoot();

	if (!empty($routingConfig['config']))
	{
		$fileNames = $routingConfig['config'];

		foreach ($fileNames as $fileName)
		{
			foreach (['local', 'bitrix'] as $vendor)
			{
				$filename = $documentRoot . '/' . $vendor . '/routes/' . basename($fileName);

				if (file_exists($filename))
				{
					$files[] = $filename;
				}
			}
		}
	}

	// system files
	if (file_exists($documentRoot.'/bitrix/routes/web_bitrix.php'))
	{
		$files[] = $documentRoot.'/bitrix/routes/web_bitrix.php';
	}

	foreach ($files as $file)
	{
		$callback = include $file;
		$callback($routes);
	}

	$router->releaseRoutes();

	// cache for route compiled data
	CompileCache::handle($files, $router);

	return $router;
}