Add support for renaming config settings

This commit is contained in:
2011-08-29 19:19:29 +01:00
parent 01d97bface
commit b8dfca3aa5
3 changed files with 32 additions and 0 deletions

View File

@@ -167,6 +167,22 @@ class SihnonFramework_Config {
// Persist the change into the backend
return $this->backend->remove($key);
}
public function rename($key, $new_key) {
if ( ! ($this->backend instanceof Sihnon_Config_IUpdateable)) {
throw new Sihnon_Exception_ReadOnlyConfigBackend();
}
if (!isset($this->settings[$key])) {
throw new Sihnon_Exception_UnknownSetting($key);
}
// Rename the setting for this run
$this->settings[$new_key] = $this->settings[$key];
unset($this->settings[$key]);
// Persist the change into the backend
return $this->backend->rename($key, $new_key);
}
};