3 use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
4 use Symfony\Component\DependencyInjection\ContainerInterface;
5 use Symfony\Component\DependencyInjection\Container;
6 use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
7 use Symfony\Component\DependencyInjection\Exception\LogicException;
8 use Symfony\Component\DependencyInjection\Exception\RuntimeException;
9 use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
12 * This class has been auto-generated
13 * by the Symfony Dependency Injection Component.
15 * @final since Symfony 3.3
17 class ProjectServiceContainer extends Container
20 private $targetDirs = array();
22 public function __construct()
25 for ($i = 1; $i <= 5; ++$i) {
26 $this->targetDirs[$i] = $dir = \dirname($dir);
28 $this->parameters = $this->getDefaultParameters();
30 $this->services = array();
31 $this->methodMap = array(
32 'test' => 'getTestService',
35 $this->aliases = array();
38 public function getRemovedIds()
41 'Psr\\Container\\ContainerInterface' => true,
42 'Symfony\\Component\\DependencyInjection\\ContainerInterface' => true,
46 public function compile()
48 throw new LogicException('You cannot compile a dumped container that was already compiled.');
51 public function isCompiled()
56 public function isFrozen()
58 @trigger_error(sprintf('The %s() method is deprecated since Symfony 3.3 and will be removed in 4.0. Use the isCompiled() method instead.', __METHOD__), E_USER_DEPRECATED);
64 * Gets the public 'test' shared service.
68 protected function getTestService()
70 return $this->services['test'] = new \stdClass(('wiz'.$this->targetDirs[1]), array(('wiz'.$this->targetDirs[1]) => ($this->targetDirs[2].'/')));
73 public function getParameter($name)
75 $name = (string) $name;
76 if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) {
77 $name = $this->normalizeParameterName($name);
79 if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) {
80 throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
83 if (isset($this->loadedDynamicParameters[$name])) {
84 return $this->loadedDynamicParameters[$name] ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
87 return $this->parameters[$name];
90 public function hasParameter($name)
92 $name = (string) $name;
93 $name = $this->normalizeParameterName($name);
95 return isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters);
98 public function setParameter($name, $value)
100 throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
103 public function getParameterBag()
105 if (null === $this->parameterBag) {
106 $parameters = $this->parameters;
107 foreach ($this->loadedDynamicParameters as $name => $loaded) {
108 $parameters[$name] = $loaded ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
110 $this->parameterBag = new FrozenParameterBag($parameters);
113 return $this->parameterBag;
116 private $loadedDynamicParameters = array(
120 private $dynamicParameters = array();
123 * Computes a dynamic parameter.
125 * @param string The name of the dynamic parameter to load
127 * @return mixed The value of the dynamic parameter
129 * @throws InvalidArgumentException When the dynamic parameter does not exist
131 private function getDynamicParameter($name)
134 case 'foo': $value = ('wiz'.$this->targetDirs[1]); break;
135 case 'buz': $value = $this->targetDirs[2]; break;
136 default: throw new InvalidArgumentException(sprintf('The dynamic parameter "%s" must be defined.', $name));
138 $this->loadedDynamicParameters[$name] = true;
140 return $this->dynamicParameters[$name] = $value;
143 private $normalizedParameterNames = array();
145 private function normalizeParameterName($name)
147 if (isset($this->normalizedParameterNames[$normalizedName = strtolower($name)]) || isset($this->parameters[$normalizedName]) || array_key_exists($normalizedName, $this->parameters)) {
148 $normalizedName = isset($this->normalizedParameterNames[$normalizedName]) ? $this->normalizedParameterNames[$normalizedName] : $normalizedName;
149 if ((string) $name !== $normalizedName) {
150 @trigger_error(sprintf('Parameter names will be made case sensitive in Symfony 4.0. Using "%s" instead of "%s" is deprecated since Symfony 3.4.', $name, $normalizedName), E_USER_DEPRECATED);
153 $normalizedName = $this->normalizedParameterNames[$normalizedName] = (string) $name;
156 return $normalizedName;
160 * Gets the default parameters.
162 * @return array An array of the default parameters
164 protected function getDefaultParameters()
168 'baz' => (__DIR__.'/PhpDumperTest.php'),