2016-08-12 19:34:27 +01:00
< ? php
2016-12-13 17:37:51 +00:00
use Symfony\Component\DependencyInjection\Argument\RewindableGenerator ;
2016-08-12 19:34:27 +01:00
use Symfony\Component\DependencyInjection\ContainerInterface ;
use Symfony\Component\DependencyInjection\Container ;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException ;
use Symfony\Component\DependencyInjection\Exception\LogicException ;
use Symfony\Component\DependencyInjection\Exception\RuntimeException ;
use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag ;
/**
* ProjectServiceContainer .
*
* This class has been auto - generated
* by the Symfony Dependency Injection Component .
2017-01-12 22:13:34 +00:00
*
* @ final since Symfony 3.3
2016-08-12 19:34:27 +01:00
*/
class ProjectServiceContainer extends Container
{
private $parameters ;
private $targetDirs = array ();
/**
* Constructor .
*/
public function __construct ()
{
$this -> parameters = $this -> getDefaultParameters ();
$this -> services = array ();
$this -> methodMap = array (
'test' => 'getTestService' ,
);
$this -> aliases = array ();
}
/**
* { @ inheritdoc }
*/
public function compile ()
{
2016-08-19 13:18:08 +01:00
throw new LogicException ( 'You cannot compile a dumped container that was already compiled.' );
}
/**
* { @ inheritdoc }
*/
public function isCompiled ()
{
return true ;
2016-08-12 19:34:27 +01:00
}
/**
* { @ inheritdoc }
*/
public function isFrozen ()
{
2016-08-19 13:18:08 +01:00
@ trigger_error ( sprintf ( 'The %s() method is deprecated since version 3.3 and will be removed in 4.0. Use the isCompiled() method instead.' , __METHOD__ ), E_USER_DEPRECATED );
2016-08-12 19:34:27 +01:00
return true ;
}
/**
* Gets the 'test' service .
*
* This service is shared .
* This method always returns the same instance of the service .
*
* @ return object A % env ( FOO ) % instance
*/
protected function getTestService ()
{
$class = $this -> getEnv ( 'FOO' );
return $this -> services [ 'test' ] = new $class ( $this -> getEnv ( 'Bar' ), 'foo' . $this -> getEnv ( 'FOO' ) . 'baz' );
}
/**
* { @ inheritdoc }
*/
public function getParameter ( $name )
{
$name = strtolower ( $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 -> loadedDynamicParameters [ $name ])) {
return $this -> loadedDynamicParameters [ $name ] ? $this -> dynamicParameters [ $name ] : $this -> getDynamicParameter ( $name );
}
return $this -> parameters [ $name ];
}
/**
* { @ inheritdoc }
*/
public function hasParameter ( $name )
{
$name = strtolower ( $name );
return isset ( $this -> parameters [ $name ]) || array_key_exists ( $name , $this -> parameters ) || isset ( $this -> loadedDynamicParameters [ $name ]);
}
/**
* { @ 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 ) {
$parameters = $this -> parameters ;
foreach ( $this -> loadedDynamicParameters as $name => $loaded ) {
$parameters [ $name ] = $loaded ? $this -> dynamicParameters [ $name ] : $this -> getDynamicParameter ( $name );
}
$this -> parameterBag = new FrozenParameterBag ( $parameters );
}
return $this -> parameterBag ;
}
private $loadedDynamicParameters = array (
'bar' => false ,
);
private $dynamicParameters = array ();
/**
* Computes a dynamic parameter .
*
* @ param string The name of the dynamic parameter to load
*
* @ return mixed The value of the dynamic parameter
*
* @ throws InvalidArgumentException When the dynamic parameter does not exist
*/
private function getDynamicParameter ( $name )
{
switch ( $name ) {
case 'bar' : $value = $this -> getEnv ( 'FOO' ); break ;
default : throw new InvalidArgumentException ( sprintf ( 'The dynamic parameter "%s" must be defined.' , $name ));
}
$this -> loadedDynamicParameters [ $name ] = true ;
return $this -> dynamicParameters [ $name ] = $value ;
}
/**
* Gets the default parameters .
*
* @ return array An array of the default parameters
*/
protected function getDefaultParameters ()
{
return array (
'env(foo)' => 'foo' ,
);
}
}