/** * Initializes the cache framework * * @param Bootstrap $bootstrap * @return void */ public static function initializeCacheManagement(Bootstrap $bootstrap) { $configurationManager = $bootstrap->getEarlyInstance(ConfigurationManager::class); $environment = $bootstrap->getEarlyInstance(Environment::class); $cacheManager = new CacheManager(); $cacheManager->setCacheConfigurations($configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_CACHES)); $cacheManager->injectConfigurationManager($configurationManager); $cacheManager->injectSystemLogger($bootstrap->getEarlyInstance(SystemLoggerInterface::class)); $cacheManager->injectEnvironment($environment); $cacheFactory = new CacheFactory($bootstrap->getContext(), $cacheManager, $environment); $bootstrap->setEarlyInstance(CacheManager::class, $cacheManager); $bootstrap->setEarlyInstance(CacheFactory::class, $cacheFactory); }