Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. YamlFileLoader.php

function YamlFileLoader::parseRoute

Parses a route and adds it to the RouteCollection.

1 call to YamlFileLoader::parseRoute()
YamlFileLoader::load in vendor/symfony/routing/Loader/YamlFileLoader.php

File

vendor/symfony/routing/Loader/YamlFileLoader.php, line 116

Class

YamlFileLoader
YamlFileLoader loads Yaml routing files.

Namespace

Symfony\Component\Routing\Loader

Code

protected function parseRoute(RouteCollection $collection, string $name, array $config, string $path) : void {
    if (isset($config['alias'])) {
        $alias = $collection->addAlias($name, $config['alias']);
        $deprecation = $config['deprecated'] ?? null;
        if (null !== $deprecation) {
            $alias->setDeprecated($deprecation['package'], $deprecation['version'], $deprecation['message'] ?? '');
        }
        return;
    }
    $defaults = $config['defaults'] ?? [];
    $requirements = $config['requirements'] ?? [];
    $options = $config['options'] ?? [];
    foreach ($requirements as $placeholder => $requirement) {
        if (\is_int($placeholder)) {
            throw new \InvalidArgumentException(\sprintf('A placeholder name must be a string (%d given). Did you forget to specify the placeholder key for the requirement "%s" of route "%s" in "%s"?', $placeholder, $requirement, $name, $path));
        }
    }
    if (isset($config['controller'])) {
        $defaults['_controller'] = $config['controller'];
    }
    if (isset($config['locale'])) {
        $defaults['_locale'] = $config['locale'];
    }
    if (isset($config['format'])) {
        $defaults['_format'] = $config['format'];
    }
    if (isset($config['utf8'])) {
        $options['utf8'] = $config['utf8'];
    }
    if (isset($config['stateless'])) {
        $defaults['_stateless'] = $config['stateless'];
    }
    $routes = $this->createLocalizedRoute($collection, $name, $config['path']);
    $routes->addDefaults($defaults);
    $routes->addRequirements($requirements);
    $routes->addOptions($options);
    $routes->setSchemes($config['schemes'] ?? []);
    $routes->setMethods($config['methods'] ?? []);
    $routes->setCondition($config['condition'] ?? null);
    if (isset($config['host'])) {
        $this->addHost($routes, $config['host']);
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal