From 7d51be6d062d43c34247e6c2e90e0735e915dcde Mon Sep 17 00:00:00 2001 From: Vitaliy Zakharov Date: Thu, 23 May 2013 01:21:30 +0600 Subject: [PATCH] add namespace parameter to PhpDumper::dump --- .../Component/DependencyInjection/Dumper/PhpDumper.php | 10 +++++++--- .../DependencyInjection/Tests/Dumper/PhpDumperTest.php | 2 +- .../Tests/Fixtures/php/services1-1.php | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index 0c622747cc..a78acef486 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -86,6 +86,7 @@ class PhpDumper extends Dumper * * * class: The class name * * base_class: The base class name + * * namespace: The class namespace * * @param array $options An array of options * @@ -98,9 +99,10 @@ class PhpDumper extends Dumper $options = array_merge(array( 'class' => 'ProjectServiceContainer', 'base_class' => 'Container', + 'namespace' => '', ), $options); - $code = $this->startClass($options['class'], $options['base_class']); + $code = $this->startClass($options['class'], $options['base_class'], $options['namespace']); if ($this->container->isFrozen()) { $code .= $this->addFrozenConstructor(); @@ -703,16 +705,18 @@ EOF; * * @param string $class Class name * @param string $baseClass The name of the base class + * @param string $namespace The class namespace * * @return string */ - private function startClass($class, $baseClass) + private function startClass($class, $baseClass, $namespace) { $bagClass = $this->container->isFrozen() ? 'use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;' : 'use Symfony\Component\DependencyInjection\ParameterBag\\ParameterBag;'; + $namespaceLine = $namespace ? "namespace $namespace;\n" : ''; return <<assertStringEqualsFile(self::$fixturesPath.'/php/services1.php', $dumper->dump(), '->dump() dumps an empty container as an empty PHP class'); - $this->assertStringEqualsFile(self::$fixturesPath.'/php/services1-1.php', $dumper->dump(array('class' => 'Container', 'base_class' => 'AbstractContainer')), '->dump() takes a class and a base_class options'); + $this->assertStringEqualsFile(self::$fixturesPath.'/php/services1-1.php', $dumper->dump(array('class' => 'Container', 'base_class' => 'AbstractContainer', 'namespace' => 'Symfony\Component\DependencyInjection\Dump')), '->dump() takes a class and a base_class options'); $container = new ContainerBuilder(); new PhpDumper($container); 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 de4b64244f..5d9e778a85 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php @@ -1,4 +1,5 @@