function YamlFileLoader::validate

Same name in other branches
  1. 9 core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php \Drupal\Core\DependencyInjection\YamlFileLoader::validate()
  2. 8.9.x core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php \Drupal\Core\DependencyInjection\YamlFileLoader::validate()
  3. 10 core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php \Drupal\Core\DependencyInjection\YamlFileLoader::validate()

Validates a YAML file.

Parameters

mixed $content:

string $file:

Return value

array

Throws

InvalidArgumentException When service file is not valid.

1 call to YamlFileLoader::validate()
YamlFileLoader::loadFile in core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php
Loads a YAML file.

File

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

Class

YamlFileLoader
YamlFileLoader loads YAML files service definitions.

Namespace

Drupal\Core\DependencyInjection

Code

private function validate($content, $file) {
    if (null === $content) {
        return $content;
    }
    if (!is_array($content)) {
        throw new InvalidArgumentException(sprintf('The service file "%s" is not valid. It should contain an array. Check your YAML syntax.', $file));
    }
    if ($invalid_keys = array_keys(array_diff_key($content, array(
        'parameters' => 1,
        'services' => 1,
    )))) {
        throw new InvalidArgumentException(sprintf('The service file "%s" is not valid: it contains invalid root key(s) "%s". Services have to be added under "services" and Parameters under "parameters".', $file, implode('", "', $invalid_keys)));
    }
    return $content;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.