Browse Source

merged branch lstrojny/master (PR #1555)

Commits
-------

133169f Better exception message for extension in XmlFileLoader

Discussion
----------

Better exception message for XmlFileLoader

Include namespace that has been looked for an registered namespaces in the exception message to ease debugging.
Fabien Potencier 14 năm trước cách đây
mục cha
commit
907d2439cd

+ 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'
+                ));
             }
         }
     }