From 5d8529740a43a56a28ebb6d36f6b5d6e9df6d804 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Fri, 12 Feb 2010 17:44:52 +0100 Subject: [PATCH] [DependencyInjection] added the extension files in the list of loaded resources --- .../DependencyInjection/Loader/XmlFileLoader.php | 3 +++ .../DependencyInjection/Loader/YamlFileLoader.php | 13 +++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Components/DependencyInjection/Loader/XmlFileLoader.php b/src/Symfony/Components/DependencyInjection/Loader/XmlFileLoader.php index b15e484df0..3c74c47ebd 100644 --- a/src/Symfony/Components/DependencyInjection/Loader/XmlFileLoader.php +++ b/src/Symfony/Components/DependencyInjection/Loader/XmlFileLoader.php @@ -343,6 +343,9 @@ EOF $values = static::convertDomElementToArray($node); $config = $this->getExtension($node->namespaceURI)->load($node->localName, is_array($values) ? $values : array($values)); + $r = new \ReflectionObject($this->getExtension($node->namespaceURI)); + $config->addResource(new FileResource($r->getFileName())); + $configuration->merge($config); } } diff --git a/src/Symfony/Components/DependencyInjection/Loader/YamlFileLoader.php b/src/Symfony/Components/DependencyInjection/Loader/YamlFileLoader.php index 4c27ece77b..1926ce7e3d 100644 --- a/src/Symfony/Components/DependencyInjection/Loader/YamlFileLoader.php +++ b/src/Symfony/Components/DependencyInjection/Loader/YamlFileLoader.php @@ -253,7 +253,7 @@ class YamlFileLoader extends FileLoader protected function loadFromExtensions(BuilderConfiguration $configuration, $content) { - foreach ($content as $key => $config) + foreach ($content as $key => $values) { if (in_array($key, array('imports', 'parameters', 'services'))) { @@ -262,12 +262,17 @@ class YamlFileLoader extends FileLoader list($namespace, $tag) = explode('.', $key); - if (!is_array($config)) + if (!is_array($values)) { - $config = array(); + $values = array(); } - $configuration->merge(static::getExtension($namespace)->load($tag, $config)); + $config = static::getExtension($namespace)->load($tag, $values); + + $r = new \ReflectionObject($this->getExtension($namespace)); + $config->addResource(new FileResource($r->getFileName())); + + $configuration->merge($config); } } }