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

Breadcrumb

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

function YamlFileLoader::parseDefinitions

Same name in this branch
  1. 11.1.x vendor/symfony/dependency-injection/Loader/YamlFileLoader.php \Symfony\Component\DependencyInjection\Loader\YamlFileLoader::parseDefinitions()

Parses definitions

Parameters

array $content:

string $file:

1 call to YamlFileLoader::parseDefinitions()
YamlFileLoader::load in core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php
Loads a Yaml file.

File

core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php, line 116

Class

YamlFileLoader
YamlFileLoader loads YAML files service definitions.

Namespace

Drupal\Core\DependencyInjection

Code

private function parseDefinitions($content, $file) {
    if (!isset($content['services'])) {
        return;
    }
    if (!is_array($content['services'])) {
        throw new InvalidArgumentException(sprintf('The "services" key should contain an array in %s. Check your YAML syntax.', $file));
    }
    // Some extensions split up their dependencies into multiple files.
    if (isset($content['_provider'])) {
        $provider = $content['_provider'];
    }
    else {
        $basename = basename($file);
        [
            $provider,
        ] = explode('.', $basename, 2);
    }
    $defaults = $this->parseDefaults($content, $file);
    $defaults['tags'][] = [
        'name' => '_provider',
        'provider' => $provider,
    ];
    foreach ($content['services'] as $id => $service) {
        $this->parseDefinition($id, $service, $file, $defaults);
    }
}

API Navigation

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