1
0
Fork 0

Improve encapsulation

This commit is contained in:
Philipp Holzer 2023-01-11 22:00:29 +01:00
parent 11a8bd17e3
commit fef10e8a57
Signed by: nupplaPhil
GPG key ID: 24A7501396EB5432
4 changed files with 21 additions and 24 deletions

View file

@ -58,20 +58,6 @@ interface IManageConfigValues
*/ */
public function get(string $cat, string $key = null, $default_value = null); public function get(string $cat, string $key = null, $default_value = null);
/**
* Load all configuration values from a given cache and saves it back in the configuration node store
* @see ConfigFileManager::CONFIG_DATA_FILE
*
* All configuration values of the system are stored in the cache.
*
* @param Cache $cache a new cache
*
* @return void
*
* @throws ConfigPersistenceException In case the persistence layer throws errors
*/
public function load(Cache $cache);
/** /**
* Sets a configuration value for system config * Sets a configuration value for system config
* *

View file

@ -49,6 +49,24 @@ class Config implements IManageConfigValues
$this->configCache = $configCache; $this->configCache = $configCache;
} }
/**
* Load all configuration values from a given cache and saves it back in the configuration node store
* @see ConfigFileManager::CONFIG_DATA_FILE
*
* All configuration values of the system are stored in the cache.
*
* @param Cache $cache a new cache
*
* @return void
*
* @throws ConfigPersistenceException In case the persistence layer throws errors
*/
public function setCacheAndSave(Cache $cache)
{
$this->configCache = $cache;
$this->save();
}
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@ -91,13 +109,6 @@ class Config implements IManageConfigValues
$this->configCache = $configCache; $this->configCache = $configCache;
} }
/** {@inheritDoc} */
public function load(Cache $cache)
{
$this->configCache = $cache;
$this->save();
}
/** {@inheritDoc} */ /** {@inheritDoc} */
public function get(string $cat, string $key = null, $default_value = null) public function get(string $cat, string $key = null, $default_value = null)
{ {

View file

@ -57,7 +57,7 @@ class ConfigTransaction implements ISetConfigValuesTransactionally
/** {@inheritDoc} */ /** {@inheritDoc} */
public function delete(string $cat, string $key): ISetConfigValuesTransactionally public function delete(string $cat, string $key): ISetConfigValuesTransactionally
{ {
$this->cache->delete($cat, $key, Cache::SOURCE_DATA); $this->cache->delete($cat, $key);
$this->changedConfig = true; $this->changedConfig = true;
return $this; return $this;
@ -72,7 +72,7 @@ class ConfigTransaction implements ISetConfigValuesTransactionally
} }
try { try {
$this->config->load($this->cache); $this->config->setCacheAndSave($this->cache);
$this->cache = clone $this->config->getCache(); $this->cache = clone $this->config->getCache();
} catch (\Exception $e) { } catch (\Exception $e) {
throw new ConfigPersistenceException('Cannot save config', $e); throw new ConfigPersistenceException('Cannot save config', $e);

View file

@ -56,7 +56,7 @@ class Cache
private $source = []; private $source = [];
/** /**
* @var array * @var bool[][]
*/ */
private $delConfig = []; private $delConfig = [];