Browse Source

Better exception message for extension in XmlFileLoader

Lars Strojny 14 years ago
parent
commit
133169f668
1 changed files with 13 additions and 1 deletions
  1. 13 1
      src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php

+ 13 - 1
src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php

@@ -382,7 +382,19 @@ EOF
 
             // can it be handled by an extension?
             if (!$this->container->hasExtension($node->namespaceURI)) {
-                throw new \InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in %s).', $node->tagName, $file));
+                $extensionNamespaces = array_filter(array_map(
+                                            function($ext) {
+                                                return $ext->getNamespace();
+                                            },
+                                            $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',
+                    $node->tagName,
+                    $file,
+                    $node->namespaceURI,
+                    $extensionNamespaces ? '"' . join($extensionNamespaces, '", "') . '"' : 'none'
+                ));
             }
         }
     }