. * */ namespace Friendica\Core\PConfig\Factory; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues; use Friendica\Core\PConfig\Repository; use Friendica\Core\PConfig\Type; use Friendica\Core\PConfig\ValueObject; class PConfig { /** * @param IManageConfigValues $config The config * @param ValueObject\Cache $pConfigCache The personal config cache * @param Repository\PConfig $configRepo The configuration model * * @return IManagePersonalConfigValues */ public function create(IManageConfigValues $config, ValueObject\Cache $pConfigCache, Repository\PConfig $configRepo): IManagePersonalConfigValues { if ($config->get('system', 'config_adapter') === 'preload') { $configuration = new Type\PreloadPConfig($pConfigCache, $configRepo); } else { $configuration = new Type\JitPConfig($pConfigCache, $configRepo); } return $configuration; } }