]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Config/Capability/IManageConfigValues.php
Apply suggestions
[friendica.git] / src / Core / Config / Capability / IManageConfigValues.php
index bf9144cf50b892dd87a7da9564b311373cc96fc0..715887ddf3cee96670d896d47ac6e49b82c3e9d7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -22,6 +22,7 @@
 namespace Friendica\Core\Config\Capability;
 
 use Friendica\Core\Config\Exception\ConfigPersistenceException;
+use Friendica\Core\Config\Util\ConfigFileManager;
 use Friendica\Core\Config\ValueObject\Cache;
 
 /**
@@ -30,36 +31,46 @@ use Friendica\Core\Config\ValueObject\Cache;
 interface IManageConfigValues
 {
        /**
-        * Loads all configuration values of family into a cached storage.
+        * Reloads all configuration values (from filesystem and environment variables)
         *
         * All configuration values of the system are stored in the cache.
         *
-        * @param string $cat The category of the configuration value
-        *
         * @return void
         *
         * @throws ConfigPersistenceException In case the persistence layer throws errors
         */
-       public function load(string $cat = 'config');
+       public function reload();
 
        /**
         * Get a particular user's config variable given the category name
         * ($cat) and a $key.
         *
         * Get a particular config value from the given category ($cat)
-        * and the $key from a cached storage either from the database or from the cache.
         *
         * @param string  $cat        The category of the configuration value
         * @param string  $key           The configuration key to query
         * @param mixed   $default_value Deprecated, use `Config->get($cat, $key, null, $refresh) ?? $default_value` instead
-        * @param boolean $refresh       optional, If true the config is loaded from the db and not from the cache (default: false)
         *
         * @return mixed Stored value or null if it does not exist
         *
         * @throws ConfigPersistenceException In case the persistence layer throws errors
         *
         */
-       public function get(string $cat, string $key, $default_value = null, bool $refresh = false);
+       public function get(string $cat, string $key, $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
@@ -78,6 +89,15 @@ interface IManageConfigValues
         */
        public function set(string $cat, string $key, $value): bool;
 
+       /**
+        * Creates a transactional config value store, which is used to set a bunch of values at once
+        *
+        * It relies on the current instance, so after save(), the values of this config class will get altered at once too.
+        *
+        * @return ISetConfigValuesTransactionally
+        */
+       public function beginTransaction(): ISetConfigValuesTransactionally;
+
        /**
         * Deletes the given key from the system configuration.
         *