diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index a402c6cebb..d60072b755 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -112,7 +112,11 @@ class PhpDumper extends Dumper 'debug' => true, ), $options); - $this->initializeMethodNamesMap($options['base_class']); + if (0 !== strpos($baseClass = $options['base_class'], '\\') && 'Container' !== $baseClass) { + $baseClass = sprintf('%s\%s', $options['namespace'] ? '\\'.$options['namespace'] : '', $baseClass); + } + + $this->initializeMethodNamesMap('Container' === $baseClass ? Container::class : $baseClass); $this->docStar = $options['debug'] ? '*' : ''; @@ -141,7 +145,7 @@ class PhpDumper extends Dumper } } - $code = $this->startClass($options['class'], $options['base_class'], $options['namespace']); + $code = $this->startClass($options['class'], $baseClass, $options['namespace']); if ($this->container->isCompiled()) { $code .= $this->addFrozenConstructor(); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php index b791398c13..ed49a7e1c2 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php @@ -16,7 +16,7 @@ use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag; * * @final since Symfony 3.3 */ -class Container extends AbstractContainer +class Container extends \Symfony\Component\DependencyInjection\Dump\AbstractContainer { private $parameters; private $targetDirs = array();