/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php

https://github.com/gimler/symfony · PHP · 155 lines · 104 code · 23 blank · 28 comment · 9 complexity · 67b6ddda7d49d0c4a10dc5728e6ea3e6 MD5 · raw file

  1. <?php
  2. use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
  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;
  9. /**
  10. * This class has been auto-generated
  11. * by the Symfony Dependency Injection Component.
  12. *
  13. * @final since Symfony 3.3
  14. */
  15. class ProjectServiceContainer extends Container
  16. {
  17. private $parameters;
  18. private $targetDirs = array();
  19. /**
  20. * @internal but protected for BC on cache:clear
  21. */
  22. protected $privates = array();
  23. public function __construct()
  24. {
  25. $dir = __DIR__;
  26. for ($i = 1; $i <= 5; ++$i) {
  27. $this->targetDirs[$i] = $dir = \dirname($dir);
  28. }
  29. $this->parameters = $this->getDefaultParameters();
  30. $this->services = $this->privates = array();
  31. $this->methodMap = array(
  32. 'test' => 'getTestService',
  33. );
  34. $this->aliases = array();
  35. }
  36. public function reset()
  37. {
  38. $this->privates = array();
  39. parent::reset();
  40. }
  41. public function compile()
  42. {
  43. throw new LogicException('You cannot compile a dumped container that was already compiled.');
  44. }
  45. public function isCompiled()
  46. {
  47. return true;
  48. }
  49. public function getRemovedIds()
  50. {
  51. return array(
  52. 'Psr\\Container\\ContainerInterface' => true,
  53. 'Symfony\\Component\\DependencyInjection\\ContainerInterface' => true,
  54. );
  55. }
  56. /**
  57. * Gets the public 'test' shared service.
  58. *
  59. * @return \stdClass
  60. */
  61. protected function getTestService()
  62. {
  63. return $this->services['test'] = new \stdClass(('wiz'.$this->targetDirs[1]), array(('wiz'.$this->targetDirs[1]) => ($this->targetDirs[2].'/')));
  64. }
  65. public function getParameter($name)
  66. {
  67. $name = (string) $name;
  68. if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) {
  69. throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
  70. }
  71. if (isset($this->loadedDynamicParameters[$name])) {
  72. return $this->loadedDynamicParameters[$name] ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
  73. }
  74. return $this->parameters[$name];
  75. }
  76. public function hasParameter($name)
  77. {
  78. $name = (string) $name;
  79. return isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters);
  80. }
  81. public function setParameter($name, $value)
  82. {
  83. throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
  84. }
  85. public function getParameterBag()
  86. {
  87. if (null === $this->parameterBag) {
  88. $parameters = $this->parameters;
  89. foreach ($this->loadedDynamicParameters as $name => $loaded) {
  90. $parameters[$name] = $loaded ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
  91. }
  92. $this->parameterBag = new FrozenParameterBag($parameters);
  93. }
  94. return $this->parameterBag;
  95. }
  96. private $loadedDynamicParameters = array(
  97. 'foo' => false,
  98. 'buz' => false,
  99. );
  100. private $dynamicParameters = array();
  101. /**
  102. * Computes a dynamic parameter.
  103. *
  104. * @param string The name of the dynamic parameter to load
  105. *
  106. * @return mixed The value of the dynamic parameter
  107. *
  108. * @throws InvalidArgumentException When the dynamic parameter does not exist
  109. */
  110. private function getDynamicParameter($name)
  111. {
  112. switch ($name) {
  113. case 'foo': $value = ('wiz'.$this->targetDirs[1]); break;
  114. case 'buz': $value = $this->targetDirs[2]; break;
  115. default: throw new InvalidArgumentException(sprintf('The dynamic parameter "%s" must be defined.', $name));
  116. }
  117. $this->loadedDynamicParameters[$name] = true;
  118. return $this->dynamicParameters[$name] = $value;
  119. }
  120. /**
  121. * Gets the default parameters.
  122. *
  123. * @return array An array of the default parameters
  124. */
  125. protected function getDefaultParameters()
  126. {
  127. return array(
  128. 'bar' => __DIR__,
  129. 'baz' => (__DIR__.'/PhpDumperTest.php'),
  130. );
  131. }
  132. }