<?php
+use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Container;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
/**
- * ProjectServiceContainer.
- *
* This class has been auto-generated
* by the Symfony Dependency Injection Component.
+ *
+ * @final since Symfony 3.3
*/
class ProjectServiceContainer extends Container
{
private $parameters;
private $targetDirs = array();
- /**
- * Constructor.
- */
public function __construct()
{
$this->parameters = $this->getDefaultParameters();
$this->services = array();
+ $this->syntheticIds = array(
+ 'request' => true,
+ );
$this->methodMap = array(
'bar' => 'getBarService',
'baz' => 'getBazService',
'deprecated_service' => 'getDeprecatedServiceService',
'factory_service' => 'getFactoryServiceService',
'factory_service_simple' => 'getFactoryServiceSimpleService',
+ 'factory_simple' => 'getFactorySimpleService',
'foo' => 'getFooService',
'foo.baz' => 'getFoo_BazService',
'foo_bar' => 'getFooBarService',
'foo_with_inline' => 'getFooWithInlineService',
+ 'lazy_context' => 'getLazyContextService',
+ 'lazy_context_ignore_invalid_ref' => 'getLazyContextIgnoreInvalidRefService',
'method_call1' => 'getMethodCall1Service',
'new_factory_service' => 'getNewFactoryServiceService',
- 'request' => 'getRequestService',
'service_from_static_method' => 'getServiceFromStaticMethodService',
+ 'tagged_iterator' => 'getTaggedIteratorService',
+ 'tagged_iterator_foo' => 'getTaggedIteratorFooService',
+ );
+ $this->privates = array(
+ 'factory_simple' => true,
+ 'tagged_iterator_foo' => true,
);
$this->aliases = array(
'alias_for_alias' => 'foo',
);
}
- /**
- * {@inheritdoc}
- */
+ public function getRemovedIds()
+ {
+ return array(
+ 'Psr\\Container\\ContainerInterface' => true,
+ 'Symfony\\Component\\DependencyInjection\\ContainerInterface' => true,
+ 'configurator_service' => true,
+ 'configurator_service_simple' => true,
+ 'decorated.pif-pouf' => true,
+ 'decorator_service.inner' => true,
+ 'factory_simple' => true,
+ 'inlined' => true,
+ 'new_factory' => true,
+ 'tagged_iterator_foo' => true,
+ );
+ }
+
public function compile()
{
- throw new LogicException('You cannot compile a dumped frozen container.');
+ throw new LogicException('You cannot compile a dumped container that was already compiled.');
+ }
+
+ public function isCompiled()
+ {
+ return true;
}
- /**
- * {@inheritdoc}
- */
public function isFrozen()
{
+ @trigger_error(sprintf('The %s() method is deprecated since Symfony 3.3 and will be removed in 4.0. Use the isCompiled() method instead.', __METHOD__), E_USER_DEPRECATED);
+
return true;
}
*/
protected function getBarService()
{
- $a = $this->get('foo.baz');
+ $a = ${($_ = isset($this->services['foo.baz']) ? $this->services['foo.baz'] : $this->getFoo_BazService()) && false ?: '_'};
$this->services['bar'] = $instance = new \Bar\FooClass('foo', $a, $this->getParameter('foo_bar'));
{
$this->services['baz'] = $instance = new \Baz();
- $instance->setFoo($this->get('foo_with_inline'));
+ $instance->setFoo(${($_ = isset($this->services['foo_with_inline']) ? $this->services['foo_with_inline'] : $this->getFooWithInlineService()) && false ?: '_'});
return $instance;
}
*/
protected function getConfiguredServiceService()
{
- $a = new \ConfClass();
- $a->setFoo($this->get('baz'));
-
$this->services['configured_service'] = $instance = new \stdClass();
+ $a = new \ConfClass();
+ $a->setFoo(${($_ = isset($this->services['baz']) ? $this->services['baz'] : $this->getBazService()) && false ?: '_'});
+
$a->configureStdClass($instance);
return $instance;
*/
protected function getFactoryServiceService()
{
- return $this->services['factory_service'] = $this->get('foo.baz')->getInstance();
+ return $this->services['factory_service'] = ${($_ = isset($this->services['foo.baz']) ? $this->services['foo.baz'] : $this->getFoo_BazService()) && false ?: '_'}->getInstance();
}
/**
*/
protected function getFactoryServiceSimpleService()
{
- return $this->services['factory_service_simple'] = (new \SimpleFactoryClass('foo'))->getInstance();
+ return $this->services['factory_service_simple'] = ${($_ = isset($this->services['factory_simple']) ? $this->services['factory_simple'] : $this->getFactorySimpleService()) && false ?: '_'}->getInstance();
}
/**
*/
protected function getFooService()
{
- $a = $this->get('foo.baz');
+ $a = ${($_ = isset($this->services['foo.baz']) ? $this->services['foo.baz'] : $this->getFoo_BazService()) && false ?: '_'};
$this->services['foo'] = $instance = \Bar\FooClass::getInstance('foo', $a, array('bar' => 'foo is bar', 'foobar' => 'bar'), true, $this);
$instance->foo = 'bar';
$instance->moo = $a;
$instance->qux = array('bar' => 'foo is bar', 'foobar' => 'bar');
- $instance->setBar($this->get('bar'));
+ $instance->setBar(${($_ = isset($this->services['bar']) ? $this->services['bar'] : $this->getBarService()) && false ?: '_'});
$instance->initialize();
sc_configure($instance);
*/
protected function getFooBarService()
{
- return new \Bar\FooClass();
+ return new \Bar\FooClass(${($_ = isset($this->services['deprecated_service']) ? $this->services['deprecated_service'] : $this->getDeprecatedServiceService()) && false ?: '_'});
}
/**
*/
protected function getFooWithInlineService()
{
- $a = new \Bar();
-
$this->services['foo_with_inline'] = $instance = new \Foo();
+ $a = new \Bar();
+
$a->pub = 'pub';
- $a->setBaz($this->get('baz'));
+ $a->setBaz(${($_ = isset($this->services['baz']) ? $this->services['baz'] : $this->getBazService()) && false ?: '_'});
$instance->setBar($a);
return $instance;
}
+ /**
+ * Gets the public 'lazy_context' shared service.
+ *
+ * @return \LazyContext
+ */
+ protected function getLazyContextService()
+ {
+ return $this->services['lazy_context'] = new \LazyContext(new RewindableGenerator(function () {
+ yield 'k1' => ${($_ = isset($this->services['foo.baz']) ? $this->services['foo.baz'] : $this->getFoo_BazService()) && false ?: '_'};
+ yield 'k2' => $this;
+ }, 2), new RewindableGenerator(function () {
+ return new \EmptyIterator();
+ }, 0));
+ }
+
+ /**
+ * Gets the public 'lazy_context_ignore_invalid_ref' shared service.
+ *
+ * @return \LazyContext
+ */
+ protected function getLazyContextIgnoreInvalidRefService()
+ {
+ return $this->services['lazy_context_ignore_invalid_ref'] = new \LazyContext(new RewindableGenerator(function () {
+ yield 0 => ${($_ = isset($this->services['foo.baz']) ? $this->services['foo.baz'] : $this->getFoo_BazService()) && false ?: '_'};
+ }, 1), new RewindableGenerator(function () {
+ return new \EmptyIterator();
+ }, 0));
+ }
+
/**
* Gets the public 'method_call1' shared service.
*
*/
protected function getMethodCall1Service()
{
- require_once '%path%foo.php';
+ include_once '%path%foo.php';
$this->services['method_call1'] = $instance = new \Bar\FooClass();
- $instance->setBar($this->get('foo'));
+ $instance->setBar(${($_ = isset($this->services['foo']) ? $this->services['foo'] : $this->getFooService()) && false ?: '_'});
$instance->setBar(NULL);
- $instance->setBar(($this->get('foo')->foo() . (($this->hasParameter("foo")) ? ($this->getParameter("foo")) : ("default"))));
+ $instance->setBar((${($_ = isset($this->services['foo']) ? $this->services['foo'] : $this->getFooService()) && false ?: '_'}->foo() . (($this->hasParameter("foo")) ? ($this->getParameter("foo")) : ("default"))));
return $instance;
}
}
/**
- * Gets the public 'request' shared service.
+ * Gets the public 'service_from_static_method' shared service.
*
- * @throws RuntimeException always since this service is expected to be injected dynamically
+ * @return \Bar\FooClass
*/
- protected function getRequestService()
+ protected function getServiceFromStaticMethodService()
{
- throw new RuntimeException('You have requested a synthetic service ("request"). The DIC does not know how to construct this service.');
+ return $this->services['service_from_static_method'] = \Bar\FooClass::getInstance();
}
/**
- * Gets the public 'service_from_static_method' shared service.
+ * Gets the public 'tagged_iterator' shared service.
*
- * @return \Bar\FooClass
+ * @return \Bar
*/
- protected function getServiceFromStaticMethodService()
+ protected function getTaggedIteratorService()
{
- return $this->services['service_from_static_method'] = \Bar\FooClass::getInstance();
+ return $this->services['tagged_iterator'] = new \Bar(new RewindableGenerator(function () {
+ yield 0 => ${($_ = isset($this->services['foo']) ? $this->services['foo'] : $this->getFooService()) && false ?: '_'};
+ yield 1 => ${($_ = isset($this->services['tagged_iterator_foo']) ? $this->services['tagged_iterator_foo'] : $this->services['tagged_iterator_foo'] = new \Bar()) && false ?: '_'};
+ }, 2));
+ }
+
+ /**
+ * Gets the private 'factory_simple' shared service.
+ *
+ * @return \SimpleFactoryClass
+ *
+ * @deprecated The "factory_simple" service is deprecated. You should stop using it, as it will soon be removed.
+ */
+ protected function getFactorySimpleService()
+ {
+ @trigger_error('The "factory_simple" service is deprecated. You should stop using it, as it will soon be removed.', E_USER_DEPRECATED);
+
+ return $this->services['factory_simple'] = new \SimpleFactoryClass('foo');
}
/**
- * {@inheritdoc}
+ * Gets the private 'tagged_iterator_foo' shared service.
+ *
+ * @return \Bar
*/
+ protected function getTaggedIteratorFooService()
+ {
+ return $this->services['tagged_iterator_foo'] = new \Bar();
+ }
+
public function getParameter($name)
{
- $name = strtolower($name);
+ $name = (string) $name;
+ if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) {
+ $name = $this->normalizeParameterName($name);
- if (!(isset($this->parameters[$name]) || array_key_exists($name, $this->parameters) || isset($this->loadedDynamicParameters[$name]))) {
- throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
+ if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) {
+ throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
+ }
}
if (isset($this->loadedDynamicParameters[$name])) {
return $this->loadedDynamicParameters[$name] ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
return $this->parameters[$name];
}
- /**
- * {@inheritdoc}
- */
public function hasParameter($name)
{
- $name = strtolower($name);
+ $name = (string) $name;
+ $name = $this->normalizeParameterName($name);
- return isset($this->parameters[$name]) || array_key_exists($name, $this->parameters) || isset($this->loadedDynamicParameters[$name]);
+ return isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters);
}
- /**
- * {@inheritdoc}
- */
public function setParameter($name, $value)
{
throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
}
- /**
- * {@inheritdoc}
- */
public function getParameterBag()
{
if (null === $this->parameterBag) {
throw new InvalidArgumentException(sprintf('The dynamic parameter "%s" must be defined.', $name));
}
+ private $normalizedParameterNames = array();
+
+ private function normalizeParameterName($name)
+ {
+ if (isset($this->normalizedParameterNames[$normalizedName = strtolower($name)]) || isset($this->parameters[$normalizedName]) || array_key_exists($normalizedName, $this->parameters)) {
+ $normalizedName = isset($this->normalizedParameterNames[$normalizedName]) ? $this->normalizedParameterNames[$normalizedName] : $normalizedName;
+ if ((string) $name !== $normalizedName) {
+ @trigger_error(sprintf('Parameter names will be made case sensitive in Symfony 4.0. Using "%s" instead of "%s" is deprecated since Symfony 3.4.', $name, $normalizedName), E_USER_DEPRECATED);
+ }
+ } else {
+ $normalizedName = $this->normalizedParameterNames[$normalizedName] = (string) $name;
+ }
+
+ return $normalizedName;
+ }
+
/**
* Gets the default parameters.
*