add namespace parameter to PhpDumper::dump
This commit is contained in:
parent
f731d99384
commit
7d51be6d06
@ -86,6 +86,7 @@ class PhpDumper extends Dumper
|
|||||||
*
|
*
|
||||||
* * class: The class name
|
* * class: The class name
|
||||||
* * base_class: The base class name
|
* * base_class: The base class name
|
||||||
|
* * namespace: The class namespace
|
||||||
*
|
*
|
||||||
* @param array $options An array of options
|
* @param array $options An array of options
|
||||||
*
|
*
|
||||||
@ -98,9 +99,10 @@ class PhpDumper extends Dumper
|
|||||||
$options = array_merge(array(
|
$options = array_merge(array(
|
||||||
'class' => 'ProjectServiceContainer',
|
'class' => 'ProjectServiceContainer',
|
||||||
'base_class' => 'Container',
|
'base_class' => 'Container',
|
||||||
|
'namespace' => '',
|
||||||
), $options);
|
), $options);
|
||||||
|
|
||||||
$code = $this->startClass($options['class'], $options['base_class']);
|
$code = $this->startClass($options['class'], $options['base_class'], $options['namespace']);
|
||||||
|
|
||||||
if ($this->container->isFrozen()) {
|
if ($this->container->isFrozen()) {
|
||||||
$code .= $this->addFrozenConstructor();
|
$code .= $this->addFrozenConstructor();
|
||||||
@ -703,16 +705,18 @@ EOF;
|
|||||||
*
|
*
|
||||||
* @param string $class Class name
|
* @param string $class Class name
|
||||||
* @param string $baseClass The name of the base class
|
* @param string $baseClass The name of the base class
|
||||||
|
* @param string $namespace The class namespace
|
||||||
*
|
*
|
||||||
* @return string
|
* @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;';
|
$bagClass = $this->container->isFrozen() ? 'use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;' : 'use Symfony\Component\DependencyInjection\ParameterBag\\ParameterBag;';
|
||||||
|
$namespaceLine = $namespace ? "namespace $namespace;\n" : '';
|
||||||
|
|
||||||
return <<<EOF
|
return <<<EOF
|
||||||
<?php
|
<?php
|
||||||
|
$namespaceLine
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
use Symfony\Component\DependencyInjection\Container;
|
use Symfony\Component\DependencyInjection\Container;
|
||||||
use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
|
use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
|
||||||
|
@ -31,7 +31,7 @@ class PhpDumperTest extends \PHPUnit_Framework_TestCase
|
|||||||
$dumper = new PhpDumper($container = new ContainerBuilder());
|
$dumper = new PhpDumper($container = new ContainerBuilder());
|
||||||
|
|
||||||
$this->assertStringEqualsFile(self::$fixturesPath.'/php/services1.php', $dumper->dump(), '->dump() dumps an empty container as an empty PHP class');
|
$this->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();
|
$container = new ContainerBuilder();
|
||||||
new PhpDumper($container);
|
new PhpDumper($container);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace Symfony\Component\DependencyInjection\Dump;
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
use Symfony\Component\DependencyInjection\Container;
|
use Symfony\Component\DependencyInjection\Container;
|
||||||
|
Reference in New Issue
Block a user