Revert "minor #10241 [DependencyInjection] made some perf improvements (fabpot)"
This reverts commit181e460984
, reversing changes made toff17493029
.
This commit is contained in:
parent
7a5762c198
commit
2f0b3551b5
@ -833,18 +833,16 @@ EOF;
|
||||
*/
|
||||
private function addConstructor()
|
||||
{
|
||||
$parameters = $this->exportParameters($this->container->getParameterBag()->all());
|
||||
$arguments = $this->container->getParameterBag()->all() ? 'new ParameterBag($this->getDefaultParameters())' : null;
|
||||
|
||||
$code = <<<EOF
|
||||
|
||||
private static \$parameters = $parameters;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(new ParameterBag(self::\$parameters));
|
||||
parent::__construct($arguments);
|
||||
|
||||
EOF;
|
||||
|
||||
@ -872,17 +870,23 @@ EOF;
|
||||
*/
|
||||
private function addFrozenConstructor()
|
||||
{
|
||||
$parameters = $this->exportParameters($this->container->getParameterBag()->all());
|
||||
|
||||
$code = <<<EOF
|
||||
|
||||
private static \$parameters = $parameters;
|
||||
private \$parameters;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
EOF;
|
||||
|
||||
if ($this->container->getParameterBag()->all()) {
|
||||
$code .= "\n \$this->parameters = \$this->getDefaultParameters();\n";
|
||||
}
|
||||
|
||||
$code .= <<<EOF
|
||||
|
||||
\$this->services =
|
||||
\$this->scopedServices =
|
||||
\$this->scopeStacks = array();
|
||||
@ -990,6 +994,8 @@ EOF;
|
||||
return '';
|
||||
}
|
||||
|
||||
$parameters = $this->exportParameters($this->container->getParameterBag()->all());
|
||||
|
||||
$code = '';
|
||||
if ($this->container->isFrozen()) {
|
||||
$code .= <<<EOF
|
||||
@ -1001,11 +1007,11 @@ EOF;
|
||||
{
|
||||
\$name = strtolower(\$name);
|
||||
|
||||
if (!(isset(self::\$parameters[\$name]) || array_key_exists(\$name, self::\$parameters))) {
|
||||
if (!(isset(\$this->parameters[\$name]) || array_key_exists(\$name, \$this->parameters))) {
|
||||
throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', \$name));
|
||||
}
|
||||
|
||||
return self::\$parameters[\$name];
|
||||
return \$this->parameters[\$name];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1015,7 +1021,7 @@ EOF;
|
||||
{
|
||||
\$name = strtolower(\$name);
|
||||
|
||||
return isset(self::\$parameters[\$name]) || array_key_exists(\$name, self::\$parameters);
|
||||
return isset(\$this->parameters[\$name]) || array_key_exists(\$name, \$this->parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1032,15 +1038,28 @@ EOF;
|
||||
public function getParameterBag()
|
||||
{
|
||||
if (null === \$this->parameterBag) {
|
||||
\$this->parameterBag = new FrozenParameterBag(self::\$parameters);
|
||||
\$this->parameterBag = new FrozenParameterBag(\$this->parameters);
|
||||
}
|
||||
|
||||
return \$this->parameterBag;
|
||||
}
|
||||
|
||||
EOF;
|
||||
}
|
||||
|
||||
$code .= <<<EOF
|
||||
|
||||
/**
|
||||
* Gets the default parameters.
|
||||
*
|
||||
* @return array An array of the default parameters
|
||||
*/
|
||||
protected function getDefaultParameters()
|
||||
{
|
||||
return $parameters;
|
||||
}
|
||||
|
||||
EOF;
|
||||
|
||||
return $code;
|
||||
}
|
||||
|
||||
|
@ -17,15 +17,11 @@ use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
|
||||
*/
|
||||
class Container extends AbstractContainer
|
||||
{
|
||||
private static $parameters = array(
|
||||
|
||||
);
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(new ParameterBag(self::$parameters));
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
|
@ -16,15 +16,11 @@ use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
|
||||
*/
|
||||
class ProjectServiceContainer extends Container
|
||||
{
|
||||
private static $parameters = array(
|
||||
|
||||
);
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(new ParameterBag(self::$parameters));
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
|
@ -16,16 +16,15 @@ use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
|
||||
*/
|
||||
class ProjectServiceContainer extends Container
|
||||
{
|
||||
private static $parameters = array(
|
||||
'empty_value' => '',
|
||||
'some_string' => '-',
|
||||
);
|
||||
private $parameters;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->parameters = $this->getDefaultParameters();
|
||||
|
||||
$this->services =
|
||||
$this->scopedServices =
|
||||
$this->scopeStacks = array();
|
||||
@ -69,11 +68,11 @@ class ProjectServiceContainer extends Container
|
||||
{
|
||||
$name = strtolower($name);
|
||||
|
||||
if (!(isset(self::$parameters[$name]) || array_key_exists($name, self::$parameters))) {
|
||||
if (!(isset($this->parameters[$name]) || array_key_exists($name, $this->parameters))) {
|
||||
throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
|
||||
}
|
||||
|
||||
return self::$parameters[$name];
|
||||
return $this->parameters[$name];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -83,7 +82,7 @@ class ProjectServiceContainer extends Container
|
||||
{
|
||||
$name = strtolower($name);
|
||||
|
||||
return isset(self::$parameters[$name]) || array_key_exists($name, self::$parameters);
|
||||
return isset($this->parameters[$name]) || array_key_exists($name, $this->parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -100,9 +99,21 @@ class ProjectServiceContainer extends Container
|
||||
public function getParameterBag()
|
||||
{
|
||||
if (null === $this->parameterBag) {
|
||||
$this->parameterBag = new FrozenParameterBag(self::$parameters);
|
||||
$this->parameterBag = new FrozenParameterBag($this->parameters);
|
||||
}
|
||||
|
||||
return $this->parameterBag;
|
||||
}
|
||||
/**
|
||||
* Gets the default parameters.
|
||||
*
|
||||
* @return array An array of the default parameters
|
||||
*/
|
||||
protected function getDefaultParameters()
|
||||
{
|
||||
return array(
|
||||
'empty_value' => '',
|
||||
'some_string' => '-',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -16,9 +16,7 @@ use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
|
||||
*/
|
||||
class ProjectServiceContainer extends Container
|
||||
{
|
||||
private static $parameters = array(
|
||||
|
||||
);
|
||||
private $parameters;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
|
@ -16,7 +16,22 @@ use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
|
||||
*/
|
||||
class ProjectServiceContainer extends Container
|
||||
{
|
||||
private static $parameters = array(
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(new ParameterBag($this->getDefaultParameters()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the default parameters.
|
||||
*
|
||||
* @return array An array of the default parameters
|
||||
*/
|
||||
protected function getDefaultParameters()
|
||||
{
|
||||
return array(
|
||||
'foo' => '%baz%',
|
||||
'baz' => 'bar',
|
||||
'bar' => 'foo is %%foo bar',
|
||||
@ -32,12 +47,5 @@ class ProjectServiceContainer extends Container
|
||||
7 => 'null',
|
||||
),
|
||||
);
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(new ParameterBag(self::$parameters));
|
||||
}
|
||||
}
|
||||
|
@ -16,18 +16,12 @@ use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
|
||||
*/
|
||||
class ProjectServiceContainer extends Container
|
||||
{
|
||||
private static $parameters = array(
|
||||
'baz_class' => 'BazClass',
|
||||
'foo_class' => 'Bar\\FooClass',
|
||||
'foo' => 'bar',
|
||||
);
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(new ParameterBag(self::$parameters));
|
||||
parent::__construct(new ParameterBag($this->getDefaultParameters()));
|
||||
$this->methodMap = array(
|
||||
'bar' => 'getBarService',
|
||||
'baz' => 'getBazService',
|
||||
@ -390,4 +384,18 @@ class ProjectServiceContainer extends Container
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the default parameters.
|
||||
*
|
||||
* @return array An array of the default parameters
|
||||
*/
|
||||
protected function getDefaultParameters()
|
||||
{
|
||||
return array(
|
||||
'baz_class' => 'BazClass',
|
||||
'foo_class' => 'Bar\\FooClass',
|
||||
'foo' => 'bar',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -16,17 +16,15 @@ use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
|
||||
*/
|
||||
class ProjectServiceContainer extends Container
|
||||
{
|
||||
private static $parameters = array(
|
||||
'baz_class' => 'BazClass',
|
||||
'foo_class' => 'Bar\\FooClass',
|
||||
'foo' => 'bar',
|
||||
);
|
||||
private $parameters;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->parameters = $this->getDefaultParameters();
|
||||
|
||||
$this->services =
|
||||
$this->scopedServices =
|
||||
$this->scopeStacks = array();
|
||||
@ -336,11 +334,11 @@ class ProjectServiceContainer extends Container
|
||||
{
|
||||
$name = strtolower($name);
|
||||
|
||||
if (!(isset(self::$parameters[$name]) || array_key_exists($name, self::$parameters))) {
|
||||
if (!(isset($this->parameters[$name]) || array_key_exists($name, $this->parameters))) {
|
||||
throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
|
||||
}
|
||||
|
||||
return self::$parameters[$name];
|
||||
return $this->parameters[$name];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -350,7 +348,7 @@ class ProjectServiceContainer extends Container
|
||||
{
|
||||
$name = strtolower($name);
|
||||
|
||||
return isset(self::$parameters[$name]) || array_key_exists($name, self::$parameters);
|
||||
return isset($this->parameters[$name]) || array_key_exists($name, $this->parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -367,9 +365,22 @@ class ProjectServiceContainer extends Container
|
||||
public function getParameterBag()
|
||||
{
|
||||
if (null === $this->parameterBag) {
|
||||
$this->parameterBag = new FrozenParameterBag(self::$parameters);
|
||||
$this->parameterBag = new FrozenParameterBag($this->parameters);
|
||||
}
|
||||
|
||||
return $this->parameterBag;
|
||||
}
|
||||
/**
|
||||
* Gets the default parameters.
|
||||
*
|
||||
* @return array An array of the default parameters
|
||||
*/
|
||||
protected function getDefaultParameters()
|
||||
{
|
||||
return array(
|
||||
'baz_class' => 'BazClass',
|
||||
'foo_class' => 'Bar\\FooClass',
|
||||
'foo' => 'bar',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user