/** * Merges configuration item object with its preset, it it exists * * @param string $env Environment ID * @param string $section_name Configuraton section * @param ConfigItem $config_obj Configuraton item object * @return ConfigItem Merged configuraton item object */ protected function mergeConfigItemWithPreset($env, $section_name, ConfigItem $config_obj) { // Get preset path $preset_path = "presets.{$env}.{$section_name}." . $config_obj->getPresetId(); // Merge with preset, if it exists if ($preset = $this->config->get($preset_path)) { $config_obj = $preset->merge($config_obj); // Making sure we do not process 'preset' a second time $config_obj->remove('preset'); } return $config_obj; }