2010-01-04 14:26:20 +00:00
< ? php
2010-08-20 22:09:55 +01:00
use Symfony\Component\DependencyInjection\ContainerInterface ;
use Symfony\Component\DependencyInjection\Container ;
2011-03-14 20:12:42 +00:00
use Symfony\Component\DependencyInjection\Exception\InactiveScopeException ;
2010-08-20 22:09:55 +01:00
use Symfony\Component\DependencyInjection\Reference ;
use Symfony\Component\DependencyInjection\Parameter ;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag ;
2010-01-04 14:26:20 +00:00
/**
* ProjectServiceContainer
*
* This class has been auto - generated
* by the Symfony Dependency Injection Component .
*/
2011-01-17 10:40:04 +00:00
class ProjectServiceContainer extends Container
2010-01-04 14:26:20 +00:00
{
2010-05-06 12:25:53 +01:00
/**
* Constructor .
*/
public function __construct ()
{
2010-06-27 17:28:29 +01:00
parent :: __construct ( new ParameterBag ( $this -> getDefaultParameters ()));
2010-05-06 12:25:53 +01:00
}
/**
2011-01-26 23:14:31 +00:00
* Gets the 'bar' service .
*
* This service is shared .
* This method always returns the same instance of the service .
2010-05-06 12:25:53 +01:00
*
* @ return FooClass A FooClass instance .
*/
2011-01-26 23:14:31 +00:00
protected function getBarService ()
2010-05-06 12:25:53 +01:00
{
2011-01-26 23:14:31 +00:00
$this -> services [ 'bar' ] = $instance = new \FooClass ( 'foo' , $this -> get ( 'foo.baz' ), $this -> getParameter ( 'foo_bar' ));
2011-01-05 11:13:27 +00:00
2011-01-26 23:14:31 +00:00
$this -> get ( 'foo.baz' ) -> configure ( $instance );
2010-05-06 12:25:53 +01:00
return $instance ;
}
/**
2011-01-26 23:14:31 +00:00
* Gets the 'factory_service' service .
2010-05-06 12:25:53 +01:00
*
* This service is shared .
* This method always returns the same instance of the service .
*
2013-01-05 08:50:11 +00:00
* @ return Bar A Bar instance .
2011-01-26 23:14:31 +00:00
*/
protected function getFactoryServiceService ()
{
return $this -> services [ 'factory_service' ] = $this -> get ( 'foo.baz' ) -> getInstance ();
}
/**
* Gets the 'foo' service .
*
2013-01-05 08:50:11 +00:00
* This service is shared .
* This method always returns the same instance of the service .
*
2010-05-06 12:25:53 +01:00
* @ return FooClass A FooClass instance .
*/
2011-01-26 23:14:31 +00:00
protected function getFooService ()
2010-01-04 14:26:20 +00:00
{
2011-03-10 14:31:00 +00:00
$a = $this -> get ( 'foo.baz' );
2013-01-05 08:50:11 +00:00
$this -> services [ 'foo' ] = $instance = call_user_func ( array ( 'FooClass' , 'getInstance' ), 'foo' , $a , array ( $this -> getParameter ( 'foo' ) => 'foo is ' . $this -> getParameter ( 'foo' ), 'foobar' => $this -> getParameter ( 'foo' )), true , $this );
2011-01-05 11:13:27 +00:00
2011-01-26 23:14:31 +00:00
$instance -> setBar ( $this -> get ( 'bar' ));
$instance -> initialize ();
2011-06-27 07:28:54 +01:00
$instance -> foo = 'bar' ;
$instance -> moo = $a ;
2011-01-26 23:14:31 +00:00
sc_configure ( $instance );
2010-05-06 12:25:53 +01:00
return $instance ;
2010-01-04 14:26:20 +00:00
}
2010-05-06 12:25:53 +01:00
/**
* Gets the 'foo.baz' service .
*
* This service is shared .
* This method always returns the same instance of the service .
*
* @ return Object A % baz_class % instance .
*/
protected function getFoo_BazService ()
2010-01-04 14:26:20 +00:00
{
2010-11-23 21:43:09 +00:00
$this -> services [ 'foo.baz' ] = $instance = call_user_func ( array ( $this -> getParameter ( 'baz_class' ), 'getInstance' ));
2011-01-05 11:13:27 +00:00
2010-05-06 12:25:53 +01:00
call_user_func ( array ( $this -> getParameter ( 'baz_class' ), 'configureStatic1' ), $instance );
return $instance ;
2010-01-04 14:26:20 +00:00
}
2010-05-06 12:25:53 +01:00
/**
* Gets the 'foo_bar' service .
*
* @ return Object A % foo_class % instance .
*/
protected function getFooBarService ()
{
$class = $this -> getParameter ( 'foo_class' );
2013-01-05 08:50:11 +00:00
return new $class ();
2010-05-06 12:25:53 +01:00
}
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 ()
{
$this -> services [ 'foo_with_inline' ] = $instance = new \Foo ();
$instance -> setBar ( $this -> get ( 'inlined' ));
return $instance ;
}
2010-05-06 12:25:53 +01: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 ()
{
2010-11-12 08:49:59 +00:00
require_once '%path%foo.php' ;
2010-11-23 21:43:09 +00:00
$this -> services [ 'method_call1' ] = $instance = new \FooClass ();
2011-01-05 11:13:27 +00:00
2010-11-12 08:49:59 +00:00
$instance -> setBar ( $this -> get ( 'foo' ));
2011-01-05 11:13:27 +00:00
$instance -> setBar ( $this -> get ( 'foo2' , ContainerInterface :: NULL_ON_INVALID_REFERENCE ));
if ( $this -> has ( 'foo3' )) {
$instance -> setBar ( $this -> get ( 'foo3' , ContainerInterface :: NULL_ON_INVALID_REFERENCE ));
2010-05-06 12:25:53 +01:00
}
2010-06-27 17:28:29 +01:00
if ( $this -> has ( 'foobaz' )) {
$instance -> setBar ( $this -> get ( 'foobaz' , ContainerInterface :: NULL_ON_INVALID_REFERENCE ));
2010-05-06 12:25:53 +01:00
}
return $instance ;
}
/**
* Gets the alias_for_foo service alias .
*
* @ return FooClass An instance of the foo service
*/
protected function getAliasForFooService ()
{
2010-11-12 08:49:59 +00:00
return $this -> get ( 'foo' );
2010-05-06 12:25:53 +01:00
}
2013-01-05 08:13:52 +00:00
/**
* Gets the 'inlined' service .
*
* This service is shared .
* This method always returns the same instance of the service .
*
* This service is private .
* If you want to be able to request this service from the container directly ,
* make it public , otherwise you might end up with broken code .
*
* @ return Bar A Bar instance .
*/
protected function getInlinedService ()
{
$this -> services [ 'inlined' ] = $instance = new \Bar ();
$instance -> setFoo ( $this -> get ( 'foo_with_inline' ));
$instance -> pub = 'pub' ;
return $instance ;
}
2010-05-06 12:25:53 +01:00
/**
* 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' ,
);
}
2010-01-04 14:26:20 +00:00
}