diff options
Diffstat (limited to 'core/Application/Environment.php')
-rw-r--r-- | core/Application/Environment.php | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/core/Application/Environment.php b/core/Application/Environment.php index b70acf461d..61df20a32f 100644 --- a/core/Application/Environment.php +++ b/core/Application/Environment.php @@ -120,7 +120,10 @@ class Environment $extraDefinitions = $this->getExtraDefinitionsFromManipulators(); $definitions = array_merge(StaticContainer::getDefinitions(), $extraDefinitions, array($this->definitions)); - $containerFactory = new ContainerFactory($pluginList, $settings, $this->environment, $definitions); + $environments = array($this->environment); + $environments = array_merge($environments, $this->getExtraEnvironmentsFromManipulators()); + + $containerFactory = new ContainerFactory($pluginList, $settings, $environments, $definitions); return $containerFactory->create(); } @@ -211,4 +214,13 @@ class Environment self::$globalEnvironmentManipulator->onEnvironmentBootstrapped(); } } + + private function getExtraEnvironmentsFromManipulators() + { + if (self::$globalEnvironmentManipulator) { + return self::$globalEnvironmentManipulator->getExtraEnvironments(); + } else { + return array(); + } + } } |