Remove default match from AbstractConfigCommand::findExtension
Previously, findExtension would return the first extension that might not even match the $name parameter.
This commit is contained in:
parent
a4f7fbfa04
commit
b85059a672
@ -48,26 +48,25 @@ abstract class AbstractConfigCommand extends ContainerDebugCommand
|
|||||||
|
|
||||||
protected function findExtension($name)
|
protected function findExtension($name)
|
||||||
{
|
{
|
||||||
$extension = null;
|
|
||||||
$bundles = $this->initializeBundles();
|
$bundles = $this->initializeBundles();
|
||||||
foreach ($bundles as $bundle) {
|
foreach ($bundles as $bundle) {
|
||||||
|
if ($name === $bundle->getName()) {
|
||||||
|
return $bundle->getContainerExtension();
|
||||||
|
}
|
||||||
|
|
||||||
$extension = $bundle->getContainerExtension();
|
$extension = $bundle->getContainerExtension();
|
||||||
|
if ($extension && $name === $extension->getAlias()) {
|
||||||
if ($extension && ($name === $extension->getAlias() || $name === $bundle->getName())) {
|
return $extension;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$extension) {
|
if ('Bundle' !== substr($name, -6)) {
|
||||||
|
$message = sprintf('No extensions with configuration available for "%s"', $name);
|
||||||
|
} else {
|
||||||
$message = sprintf('No extension with alias "%s" is enabled', $name);
|
$message = sprintf('No extension with alias "%s" is enabled', $name);
|
||||||
if (preg_match('/Bundle$/', $name)) {
|
|
||||||
$message = sprintf('No extensions with configuration available for "%s"', $name);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException($message);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $extension;
|
throw new \LogicException($message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function validateConfiguration(ExtensionInterface $extension, $configuration)
|
public function validateConfiguration(ExtensionInterface $extension, $configuration)
|
||||||
|
Reference in New Issue
Block a user