2013-01-05 08:50:11 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
|
|
use Symfony\Component\DependencyInjection\Container;
|
|
|
|
use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
|
2013-01-05 15:29:42 +00:00
|
|
|
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
|
|
|
|
use Symfony\Component\DependencyInjection\Exception\LogicException;
|
|
|
|
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
|
2013-01-05 08:50:11 +00:00
|
|
|
use Symfony\Component\DependencyInjection\Reference;
|
|
|
|
use Symfony\Component\DependencyInjection\Parameter;
|
|
|
|
use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ProjectServiceContainer
|
|
|
|
*
|
|
|
|
* This class has been auto-generated
|
|
|
|
* by the Symfony Dependency Injection Component.
|
|
|
|
*/
|
|
|
|
class ProjectServiceContainer extends Container
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Constructor.
|
|
|
|
*/
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
$this->parameters = $this->getDefaultParameters();
|
|
|
|
|
|
|
|
$this->services =
|
|
|
|
$this->scopedServices =
|
|
|
|
$this->scopeStacks = array();
|
|
|
|
|
|
|
|
$this->set('service_container', $this);
|
|
|
|
|
|
|
|
$this->scopes = array();
|
|
|
|
$this->scopeChildren = array();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the 'bar' service.
|
|
|
|
*
|
|
|
|
* This service is shared.
|
|
|
|
* This method always returns the same instance of the service.
|
|
|
|
*
|
|
|
|
* @return FooClass A FooClass instance.
|
|
|
|
*/
|
|
|
|
protected function getBarService()
|
|
|
|
{
|
|
|
|
$this->services['bar'] = $instance = new \FooClass('foo', $this->get('foo.baz'), $this->getParameter('foo_bar'));
|
|
|
|
|
|
|
|
$this->get('foo.baz')->configure($instance);
|
|
|
|
|
|
|
|
return $instance;
|
|
|
|
}
|
|
|
|
|
2013-01-05 09:16:41 +00:00
|
|
|
/**
|
|
|
|
* Gets the 'baz' service.
|
|
|
|
*
|
|
|
|
* This service is shared.
|
|
|
|
* This method always returns the same instance of the service.
|
|
|
|
*
|
|
|
|
* @return Baz A Baz instance.
|
|
|
|
*/
|
|
|
|
protected function getBazService()
|
|
|
|
{
|
|
|
|
$this->services['baz'] = $instance = new \Baz();
|
|
|
|
|
|
|
|
$instance->setFoo($this->get('foo_with_inline'));
|
|
|
|
|
|
|
|
return $instance;
|
|
|
|
}
|
|
|
|
|
2013-01-05 08:50:11 +00:00
|
|
|
/**
|
|
|
|
* Gets the 'factory_service' service.
|
|
|
|
*
|
|
|
|
* This service is shared.
|
|
|
|
* This method always returns the same instance of the service.
|
|
|
|
*
|
|
|
|
* @return Bar A Bar instance.
|
|
|
|
*/
|
|
|
|
protected function getFactoryServiceService()
|
|
|
|
{
|
|
|
|
return $this->services['factory_service'] = $this->get('foo.baz')->getInstance();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the 'foo' service.
|
|
|
|
*
|
|
|
|
* This service is shared.
|
|
|
|
* This method always returns the same instance of the service.
|
|
|
|
*
|
|
|
|
* @return FooClass A FooClass instance.
|
|
|
|
*/
|
|
|
|
protected function getFooService()
|
|
|
|
{
|
|
|
|
$a = $this->get('foo.baz');
|
|
|
|
|
|
|
|
$this->services['foo'] = $instance = call_user_func(array('FooClass', 'getInstance'), 'foo', $a, array('bar' => 'foo is bar', 'foobar' => 'bar'), true, $this);
|
|
|
|
|
|
|
|
$instance->setBar($this->get('bar'));
|
|
|
|
$instance->initialize();
|
|
|
|
$instance->foo = 'bar';
|
|
|
|
$instance->moo = $a;
|
|
|
|
sc_configure($instance);
|
|
|
|
|
|
|
|
return $instance;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the 'foo.baz' service.
|
|
|
|
*
|
|
|
|
* This service is shared.
|
|
|
|
* This method always returns the same instance of the service.
|
|
|
|
*
|
|
|
|
* @return BazClass A BazClass instance.
|
|
|
|
*/
|
|
|
|
protected function getFoo_BazService()
|
|
|
|
{
|
|
|
|
$this->services['foo.baz'] = $instance = call_user_func(array('BazClass', 'getInstance'));
|
|
|
|
|
|
|
|
call_user_func(array('BazClass', 'configureStatic1'), $instance);
|
|
|
|
|
|
|
|
return $instance;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the 'foo_bar' service.
|
|
|
|
*
|
|
|
|
* @return FooClass A FooClass instance.
|
|
|
|
*/
|
|
|
|
protected function getFooBarService()
|
|
|
|
{
|
|
|
|
return new \FooClass();
|
|
|
|
}
|
|
|
|
|
2013-01-05 08:13:52 +00:00
|
|
|
/**
|
|
|
|
* Gets the 'foo_with_inline' service.
|
|
|
|
*
|
|
|
|
* This service is shared.
|
|
|
|
* This method always returns the same instance of the service.
|
|
|
|
*
|
|
|
|
* @return Foo A Foo instance.
|
|
|
|
*/
|
|
|
|
protected function getFooWithInlineService()
|
|
|
|
{
|
|
|
|
$a = new \Bar();
|
|
|
|
|
|
|
|
$this->services['foo_with_inline'] = $instance = new \Foo();
|
|
|
|
|
2013-01-05 09:16:41 +00:00
|
|
|
$a->setBaz($this->get('baz'));
|
2013-01-05 08:13:52 +00:00
|
|
|
$a->pub = 'pub';
|
|
|
|
|
|
|
|
$instance->setBar($a);
|
|
|
|
|
|
|
|
return $instance;
|
|
|
|
}
|
|
|
|
|
2013-01-05 08:50:11 +00:00
|
|
|
/**
|
|
|
|
* Gets the 'method_call1' service.
|
|
|
|
*
|
|
|
|
* This service is shared.
|
|
|
|
* This method always returns the same instance of the service.
|
|
|
|
*
|
|
|
|
* @return FooClass A FooClass instance.
|
|
|
|
*/
|
|
|
|
protected function getMethodCall1Service()
|
|
|
|
{
|
|
|
|
require_once '%path%foo.php';
|
|
|
|
|
|
|
|
$this->services['method_call1'] = $instance = new \FooClass();
|
|
|
|
|
|
|
|
$instance->setBar($this->get('foo'));
|
|
|
|
$instance->setBar(NULL);
|
|
|
|
|
|
|
|
return $instance;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the alias_for_foo service alias.
|
|
|
|
*
|
|
|
|
* @return FooClass An instance of the foo service
|
|
|
|
*/
|
|
|
|
protected function getAliasForFooService()
|
|
|
|
{
|
|
|
|
return $this->get('foo');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* {@inheritdoc}
|
|
|
|
*/
|
|
|
|
public function getParameter($name)
|
|
|
|
{
|
|
|
|
$name = strtolower($name);
|
|
|
|
|
|
|
|
if (!array_key_exists($name, $this->parameters)) {
|
2013-01-05 15:29:42 +00:00
|
|
|
throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
|
2013-01-05 08:50:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return $this->parameters[$name];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* {@inheritdoc}
|
|
|
|
*/
|
|
|
|
public function hasParameter($name)
|
|
|
|
{
|
|
|
|
return array_key_exists(strtolower($name), $this->parameters);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* {@inheritdoc}
|
|
|
|
*/
|
|
|
|
public function setParameter($name, $value)
|
|
|
|
{
|
2013-01-05 15:29:42 +00:00
|
|
|
throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
|
2013-01-05 08:50:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* {@inheritDoc}
|
|
|
|
*/
|
|
|
|
public function getParameterBag()
|
|
|
|
{
|
|
|
|
if (null === $this->parameterBag) {
|
|
|
|
$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' => 'FooClass',
|
|
|
|
'foo' => 'bar',
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|