3 namespace Friendica\Factory;
6 use Friendica\Core\Config;
7 use Friendica\Core\Config\Cache;
8 use Friendica\Model\Config\Config as ConfigModel;
9 use Friendica\Model\Config\PConfig as PConfigModel;
10 use Friendica\Util\ConfigFileLoader;
15 * @param ConfigFileLoader $loader The Config Cache loader (INI/config/.htconfig)
21 public function createCache(ConfigFileLoader $loader)
23 $configCache = new Cache();
24 $loader->setupCache($configCache);
30 * @param Cache $configCache The config cache of this adapter
31 * @param ConfigModel $configModel The configuration model
33 * @return Config\IConfig
35 public function createConfig(Cache $configCache, ConfigModel $configModel)
37 if ($configCache->get('system', 'config_adapter') === 'preload') {
38 $configuration = new Config\PreloadConfig($configCache, $configModel);
40 $configuration = new Config\JitConfig($configCache, $configModel);
44 return $configuration;
48 * @param Cache $configCache The config cache
49 * @param \Friendica\Core\PConfig\Cache $pConfigCache The personal config cache
50 * @param PConfigModel $configModel The configuration model
52 * @return \Friendica\Core\PConfig\IPConfig
54 public function createPConfig(Cache $configCache, \Friendica\Core\PConfig\Cache $pConfigCache, PConfigModel $configModel)
56 if ($configCache->get('system', 'config_adapter') === 'preload') {
57 $configuration = new \Friendica\Core\PConfig\PreloadPConfig($pConfigCache, $configModel);
59 $configuration = new \Friendica\Core\PConfig\JitPConfig($pConfigCache, $configModel);
62 return $configuration;