bug #19842 [FrameworkBundle] Check for class existence before is_subclass_of (chalasr)
This PR was merged into the 2.7 branch.
Discussion
----------
[FrameworkBundle] Check for class existence before is_subclass_of
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Same as #19342
Commits
-------
8a9e0f5
[FrameworkBundle] Check for class existence before is_subclass_of
This commit is contained in:
commit
8693611b12
@ -38,6 +38,10 @@ class AddConsoleCommandPass implements CompilerPassInterface
|
|||||||
|
|
||||||
$class = $container->getParameterBag()->resolveValue($definition->getClass());
|
$class = $container->getParameterBag()->resolveValue($definition->getClass());
|
||||||
if (!is_subclass_of($class, 'Symfony\\Component\\Console\\Command\\Command')) {
|
if (!is_subclass_of($class, 'Symfony\\Component\\Console\\Command\\Command')) {
|
||||||
|
if (!class_exists($class, false)) {
|
||||||
|
throw new \InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id));
|
||||||
|
}
|
||||||
|
|
||||||
throw new \InvalidArgumentException(sprintf('The service "%s" tagged "console.command" must be a subclass of "Symfony\\Component\\Console\\Command\\Command".', $id));
|
throw new \InvalidArgumentException(sprintf('The service "%s" tagged "console.command" must be a subclass of "Symfony\\Component\\Console\\Command\\Command".', $id));
|
||||||
}
|
}
|
||||||
$container->setAlias('console.command.'.strtolower(str_replace('\\', '_', $class)), $id);
|
$container->setAlias('console.command.'.strtolower(str_replace('\\', '_', $class)), $id);
|
||||||
|
Reference in New Issue
Block a user