]> git.mxchange.org Git - friendica.git/blob - src/Core/Config/Type/AbstractConfig.php
New function to exit the program
[friendica.git] / src / Core / Config / Type / AbstractConfig.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2010-2022, the Friendica project
4  *
5  * @license GNU AGPL version 3 or any later version
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Affero General Public License for more details.
16  *
17  * You should have received a copy of the GNU Affero General Public License
18  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  */
21
22 namespace Friendica\Core\Config\Type;
23
24 use Friendica\Core\Config\Repository\Config;
25 use Friendica\Core\Config\ValueObject\Cache;
26 use Friendica\Core\Config\Capability\IManageConfigValues;
27
28 /**
29  * This class is responsible for all system-wide configuration values in Friendica
30  * There are two types of storage
31  * - The Config-Files    (loaded into the FileCache @see Cache)
32  * - The Config-Repository (per Config-Repository @see Config )
33  */
34 abstract class AbstractConfig implements IManageConfigValues
35 {
36         /**
37          * @var Cache
38          */
39         protected $configCache;
40
41         /**
42          * @var Config
43          */
44         protected $configRepo;
45
46         /**
47          * @param Cache  $configCache The configuration cache (based on the config-files)
48          * @param Config $configRepo  The configuration repository
49          */
50         public function __construct(Cache $configCache, Config $configRepo)
51         {
52                 $this->configCache = $configCache;
53                 $this->configRepo  = $configRepo;
54         }
55
56         /**
57          * {@inheritDoc}
58          */
59         public function getCache(): Cache
60         {
61                 return $this->configCache;
62         }
63 }