diff options
author | diosmosis <benaka@piwik.pro> | 2015-06-01 09:00:37 +0300 |
---|---|---|
committer | diosmosis <benaka@piwik.pro> | 2015-06-05 23:20:03 +0300 |
commit | 33cfb1d02cae5b1454d223f15acef9db1f65f77c (patch) | |
tree | f2a6d7c26e773037895a139e7e6d795036aa371b /core/Application/Environment.php | |
parent | 53a29ed2338094321bb077574e369e62231d62da (diff) |
Move test environment setup logic from TestingEnvironmentVariables::addHooks() to a new EnvironmentManipulator. Remove MakeGlobalSettingsWithFile since it is now redundant.
Diffstat (limited to 'core/Application/Environment.php')
-rw-r--r-- | core/Application/Environment.php | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/core/Application/Environment.php b/core/Application/Environment.php index edd60180d5..b77c7d5c68 100644 --- a/core/Application/Environment.php +++ b/core/Application/Environment.php @@ -85,6 +85,8 @@ class Environment */ public function init() { + $this->invokeBeforeContainerCreatedHook(); + $this->container = $this->createContainer(); StaticContainer::set($this->container); @@ -112,7 +114,9 @@ class Environment { $pluginList = $this->getPluginListCached(); $settings = $this->getGlobalSettingsCached(); - $definitions = array_merge(StaticContainer::getDefinitions(), array($this->definitions)); + + $extraDefinitions = $this->getExtraDefinitionsFromManipulators(); + $definitions = array_merge(StaticContainer::getDefinitions(), $extraDefinitions, array($this->definitions)); $containerFactory = new ContainerFactory($pluginList, $settings, $this->environment, $definitions); return $containerFactory->create(); @@ -185,4 +189,20 @@ class Environment return null; } + + private function invokeBeforeContainerCreatedHook() + { + foreach (self::$globalEnvironmentManipulators as $manipulator) { + $manipulator->beforeContainerCreated(); + } + } + + private function getExtraDefinitionsFromManipulators() + { + $result = array(); + foreach (self::$globalEnvironmentManipulators as $manipulator) { + $result = array_merge($result, $manipulator->getExtraDefinitions()); + } + return $result; + } } |