Validates a YAML file.
mixed $content:
string $file:
array
InvalidArgumentException When service file is not valid
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.', $file));
}
foreach (array_keys($content) as $namespace) {
if (in_array($namespace, array(
'imports',
'parameters',
'services',
))) {
continue;
}
if (!$this->container
->hasExtension($namespace)) {
$extensionNamespaces = array_filter(array_map(function ($ext) {
return $ext
->getAlias();
}, $this->container
->getExtensions()));
throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in %s). Looked for namespace "%s", found %s', $namespace, $file, $namespace, $extensionNamespaces ? sprintf('"%s"', implode('", "', $extensionNamespaces)) : 'none'));
}
}
return $content;
}