8000 [DI] Fix dumping with custom base class · symfony/symfony@2dd74ab · GitHub
[go: up one dir, main page]

Skip to content

Commit 2dd74ab

Browse files
[DI] Fix dumping with custom base class
1 parent a050ee2 commit 2dd74ab

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ public function dump(array $options = array())
112112
'debug' => true,
113113
), $options);
114114

115-
$this->initializeMethodNamesMap($options['base_class']);
115+
if (0 !== strpos($baseClass = $options['base_class'], '\\') && 'Container' !== $baseClass) {
116+
$baseClass = sprintf('%s\%s', $options['namespace'] ? '\\'.$options['namespace'] : '', $baseClass);
117+
}
118+
119+
$this->initializeMethodNamesMap('Container' === $baseClass ? Container::class : $baseClass);
116120

117121
$this->docStar = $options['debug'] ? '*' : '';
118122

@@ -141,7 +145,7 @@ public function dump(array $options = array())
141145
}
142146
}
143147

144-
$code = $this->startClass($options['class'], $options['base_class'], $options['namespace']);
148+
$code = $this->startClass($options['class'], $baseClass, $options['namespace']);
145149

146150
if ($this->container->isCompiled()) {
147151
$code .= $this->addFrozenConstructor();

src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*
1717
* @final since Symfony 3.3
1818
*/
19-
class Container extends AbstractContainer
19+
class Container extends \Symfony\Component\DependencyInjection\Dump\AbstractContainer
2020
{
2121
private $parameters;
2222
private $targetDirs = array();

0 commit comments

Comments
 (0)
0