2010-01-04 14:26:20 +00:00
< ? php
2010-08-20 22:09:55 +01:00
use Symfony\Component\DependencyInjection\ContainerInterface ;
2010-10-15 17:50:32 +01:00
use Symfony\Component\DependencyInjection\TaggedContainerInterface ;
2010-08-20 22:09:55 +01:00
use Symfony\Component\DependencyInjection\Container ;
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 .
*/
2010-10-15 17:50:32 +01:00
class ProjectServiceContainer extends Container implements TaggedContainerInterface
2010-01-04 14:26:20 +00:00
{
2010-05-06 12:25:53 +01:00
protected $shared = array ();
/**
* 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
}
/**
* Gets the 'foo' service .
*
* @ return FooClass A FooClass instance .
*/
protected function getFooService ()
{
require_once '%path%foo.php' ;
$instance = call_user_func ( array ( 'FooClass' , 'getInstance' ), 'foo' , $this -> getFoo_BazService (), array ( $this -> getParameter ( 'foo' ) => 'foo is ' . $this -> getParameter ( 'foo' ), 'bar' => $this -> getParameter ( 'foo' )), true , $this );
$instance -> setBar ( 'bar' );
$instance -> initialize ();
sc_configure ( $instance );
return $instance ;
}
/**
* 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 ()
2010-01-04 14:26:20 +00:00
{
2010-05-06 12:25:53 +01:00
if ( isset ( $this -> shared [ 'bar' ])) return $this -> shared [ 'bar' ];
$instance = new FooClass ( 'foo' , $this -> getFoo_BazService (), $this -> getParameter ( 'foo_bar' ));
$this -> shared [ 'bar' ] = $instance ;
$this -> getFoo_BazService () -> configure ( $instance );
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-05-06 12:25:53 +01:00
if ( isset ( $this -> shared [ 'foo.baz' ])) return $this -> shared [ 'foo.baz' ];
$instance = call_user_func ( array ( $this -> getParameter ( 'baz_class' ), 'getInstance' ));
$this -> shared [ 'foo.baz' ] = $instance ;
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 .
*
* This service is shared .
* This method always returns the same instance of the service .
*
* @ return Object A % foo_class % instance .
*/
protected function getFooBarService ()
{
if ( isset ( $this -> shared [ 'foo_bar' ])) return $this -> shared [ 'foo_bar' ];
$class = $this -> getParameter ( 'foo_class' );
$instance = new $class ();
$this -> shared [ 'foo_bar' ] = $instance ;
return $instance ;
}
/**
* 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 ()
{
if ( isset ( $this -> shared [ 'method_call1' ])) return $this -> shared [ 'method_call1' ];
$instance = new FooClass ();
$this -> shared [ 'method_call1' ] = $instance ;
$instance -> setBar ( $this -> getFooService ());
2010-06-27 17:28:29 +01:00
$instance -> setBar ( $this -> get ( 'foo' , ContainerInterface :: NULL_ON_INVALID_REFERENCE ));
if ( $this -> has ( 'foo' )) {
$instance -> setBar ( $this -> get ( 'foo' , 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 ;
}
2010-07-04 17:56:48 +01:00
/**
* Gets the 'factory_service' service .
*
* This service is shared .
* This method always returns the same instance of the service .
*
* @ return Object An instance returned by foo . baz :: getInstance () .
*/
protected function getFactoryServiceService ()
{
if ( isset ( $this -> shared [ 'factory_service' ])) return $this -> shared [ 'factory_service' ];
$instance = $this -> getFoo_BazService () -> getInstance ();
$this -> shared [ 'factory_service' ] = $instance ;
return $instance ;
}
2010-05-06 12:25:53 +01:00
/**
* Gets the alias_for_foo service alias .
*
* @ return FooClass An instance of the foo service
*/
protected function getAliasForFooService ()
{
return $this -> getFooService ();
}
/**
2010-08-05 06:34:53 +01:00
* Returns service ids for a given tag .
2010-05-06 12:25:53 +01:00
*
2010-08-05 06:34:53 +01:00
* @ param string $name The tag name
2010-05-06 12:25:53 +01:00
*
2010-08-05 06:34:53 +01:00
* @ return array An array of tags
2010-05-06 12:25:53 +01:00
*/
2010-08-05 06:34:53 +01:00
public function findTaggedServiceIds ( $name )
2010-05-06 12:25:53 +01:00
{
2010-08-05 06:34:53 +01:00
static $tags = array (
2010-04-10 22:23:20 +01:00
'foo' =>
2010-02-09 08:45:23 +00:00
array (
2010-04-10 22:23:20 +01:00
'foo' =>
2010-02-09 08:45:23 +00:00
array (
2010-04-10 22:23:20 +01:00
0 =>
2010-02-09 08:45:23 +00:00
array (
'foo' => 'foo' ,
),
1 =>
array (
'bar' => 'bar' ,
),
),
),
);
2010-08-05 06:34:53 +01:00
return isset ( $tags [ $name ]) ? $tags [ $name ] : array ();
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
}