/** * @param ConfigInterface $config * @param string $configKey */ protected function mergeConfigValues(ConfigInterface $config, $configKey) { if (isset($this->persistConfigs[$configKey])) { $existingValues = $this->persistConfigs[$configKey]->getValues(); if (!empty($existingValues)) { $config->setValues(array_merge($existingValues, $config->getValues())); } } $this->persistConfigs[$configKey] = $config; }
/** * @param ConfigInterface $config * @return ConfigInterface */ public function merge(ConfigInterface $config) { $configKey = $this->buildConfigKey($config->getId()); if (isset($this->persistConfigs[$configKey])) { $persistValues = $this->persistConfigs[$configKey]->all(); if (!empty($persistValues)) { $config->setValues(array_merge($persistValues, $config->all())); } } $this->persistConfigs[$configKey] = $config; return $config; }