public function YamlFileLoader::load in Service Container 7.2
Same name in this branch
- 7.2 lib/Drupal/Core/DependencyInjection/YamlFileLoader.php \Drupal\Core\DependencyInjection\YamlFileLoader::load()
- 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php \Symfony\Component\DependencyInjection\Loader\YamlFileLoader::load()
Same name and namespace in other branches
- 7 lib/Drupal/Core/DependencyInjection/YamlFileLoader.php \Drupal\Core\DependencyInjection\YamlFileLoader::load()
Loads a Yaml file.
Parameters
mixed $file The resource:
File
- lib/
Drupal/ Core/ DependencyInjection/ YamlFileLoader.php, line 61 - Contains \Drupal\Core\DependencyInjection\YamlFileLoader.
Class
- YamlFileLoader
- YamlFileLoader loads YAML files service definitions.
Namespace
Drupal\Core\DependencyInjectionCode
public function load($file) {
// Load from the file cache, fall back to loading the file.
// @todo Refactor this to cache parsed definition objects in
// https://www.drupal.org/node/2464053
$content = $this->fileCache
->get($file);
if (!$content) {
$content = $this
->loadFile($file);
$this->fileCache
->set($file, $content);
}
// Not supported.
//$this->container->addResource(new FileResource($path));
// empty file
if (null === $content) {
return;
}
// imports
// Not supported.
//$this->parseImports($content, $file);
// parameters
if (isset($content['parameters'])) {
if (!is_array($content['parameters'])) {
throw new InvalidArgumentException(sprintf('The "parameters" key should contain an array in %s. Check your YAML syntax.', $file));
}
foreach ($content['parameters'] as $key => $value) {
$this->container
->setParameter($key, $this
->resolveServices($value));
}
}
// extensions
// Not supported.
//$this->loadFromExtensions($content);
// services
$this
->parseDefinitions($content, $file);
}