3 use Symfony\Component\DependencyInjection\ContainerInterface;
4 use Symfony\Component\DependencyInjection\Container;
5 use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
6 use Symfony\Component\DependencyInjection\Exception\LogicException;
7 use Symfony\Component\DependencyInjection\Exception\RuntimeException;
8 use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
11 * ProjectServiceContainer.
13 * This class has been auto-generated
14 * by the Symfony Dependency Injection Component.
16 class ProjectServiceContainer extends Container
19 private $targetDirs = array();
24 public function __construct()
26 $this->parameters = $this->getDefaultParameters();
28 $this->services = array();
29 $this->methodMap = array(
30 'test' => 'getTestService',
33 $this->aliases = array();
39 public function compile()
41 throw new LogicException('You cannot compile a dumped frozen container.');
47 public function isFrozen()
53 * Gets the public 'test' shared service.
55 * @return object A %env(FOO)% instance
57 protected function getTestService()
59 $class = $this->getEnv('FOO');
61 return $this->services['test'] = new $class($this->getEnv('Bar'), 'foo'.$this->getEnv('FOO').'baz');
67 public function getParameter($name)
69 $name = strtolower($name);
71 if (!(isset($this->parameters[$name]) || array_key_exists($name, $this->parameters) || isset($this->loadedDynamicParameters[$name]))) {
72 throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
74 if (isset($this->loadedDynamicParameters[$name])) {
75 return $this->loadedDynamicParameters[$name] ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
78 return $this->parameters[$name];
84 public function hasParameter($name)
86 $name = strtolower($name);
88 return isset($this->parameters[$name]) || array_key_exists($name, $this->parameters) || isset($this->loadedDynamicParameters[$name]);
94 public function setParameter($name, $value)
96 throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
102 public function getParameterBag()
104 if (null === $this->parameterBag) {
105 $parameters = $this->parameters;
106 foreach ($this->loadedDynamicParameters as $name => $loaded) {
107 $parameters[$name] = $loaded ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
109 $this->parameterBag = new FrozenParameterBag($parameters);
112 return $this->parameterBag;
115 private $loadedDynamicParameters = array(
118 private $dynamicParameters = array();
121 * Computes a dynamic parameter.
123 * @param string The name of the dynamic parameter to load
125 * @return mixed The value of the dynamic parameter
127 * @throws InvalidArgumentException When the dynamic parameter does not exist
129 private function getDynamicParameter($name)
132 case 'bar': $value = $this->getEnv('FOO'); break;
133 default: throw new InvalidArgumentException(sprintf('The dynamic parameter "%s" must be defined.', $name));
135 $this->loadedDynamicParameters[$name] = true;
137 return $this->dynamicParameters[$name] = $value;
141 * Gets the default parameters.
143 * @return array An array of the default parameters
145 protected function getDefaultParameters()