public function configure() { $configuration = $this->loader->load(); $config = new Config($this, $this->console); if (isset($configuration['providers'])) { foreach ($configuration['providers'] as $provider) { $config->configureProvider($provider); } } if (isset($configuration['settings'])) { $config->configureSettings($configuration['settings']); } if (isset($configuration['routes'])) { foreach ($configuration['routes'] as $routeName => $route) { $config->configureRoute($route, $routeName); } } if (isset($configuration['services'])) { foreach ($configuration['services'] as $serviceName => $service) { $config->configureService($serviceName, $service); } } if ($this->console != null && isset($configuration['console'])) { $consoleSettings = $configuration['console']; if (isset($consoleSettings['commands']) && is_array($consoleSettings['commands'])) { foreach ($consoleSettings['commands'] as $commandSetting) { $config->configureCommand($commandSetting); } } } }
public function testConfigureSettings() { $settings = array('config.param1' => true, 'config.param2' => array(2), 'config.param3' => (object) array('var1' => 'value1')); $app = new Application(); $config = new Config($app); $config->configureSettings($settings); foreach ($settings as $key => $value) { $this->assertTrue(isset($app[$key]), "Assert application has the key '{$key}'"); $this->assertEquals($value, $app[$key], "Assert \$app['{$key}'] === \$settings['{$key}']"); } }