public function YamlFileLoader::load in Zircon Profile 8
Same name in this branch
- 8 vendor/symfony/routing/Loader/YamlFileLoader.php \Symfony\Component\Routing\Loader\YamlFileLoader::load()
- 8 vendor/symfony/translation/Loader/YamlFileLoader.php \Symfony\Component\Translation\Loader\YamlFileLoader::load()
- 8 vendor/symfony/dependency-injection/Loader/YamlFileLoader.php \Symfony\Component\DependencyInjection\Loader\YamlFileLoader::load()
- 8 core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php \Drupal\Core\DependencyInjection\YamlFileLoader::load()
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php \Drupal\Core\DependencyInjection\YamlFileLoader::load()
Loads a Yaml file.
Parameters
mixed $file The resource:
File
- core/
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);
}