Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c179710

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

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

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

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,18 @@ public function dump(array $options = array())
107107
$this->targetDirRegex = null;
108108
$options = array_merge(array(
109109
'class' => 'ProjectServiceContainer',
110-
'base_class' => 'Container',
110+
'base_class' => null,
111111
'namespace' => '',
112112
'debug' => true,
113113
), $options);
114114

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

117123
$this->docStar = $options['debug'] ? '*' : '';
118124

@@ -141,7 +147,7 @@ public function dump(array $options = array())
141147
}
142148
}
143149

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

146152
if ($this->container->isCompiled()) {
147153
$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)