Neos\Flow\Cache\CacheManager::injectCacheFactory PHP Method

injectCacheFactory() public method

public injectCacheFactory ( CacheFactory $cacheFactory ) : void
$cacheFactory CacheFactory
return void
    public function injectCacheFactory(CacheFactory $cacheFactory)
    {
        $this->cacheFactory = $cacheFactory;
    }

Usage Example

 /**
  * Initializes the cache framework
  *
  * @param Bootstrap $bootstrap
  * @return void
  */
 public static function initializeCacheManagement(Bootstrap $bootstrap)
 {
     /** @var ConfigurationManager $configurationManager */
     $configurationManager = $bootstrap->getEarlyInstance(ConfigurationManager::class);
     $environment = $bootstrap->getEarlyInstance(Environment::class);
     $cacheFactoryObjectConfiguration = $configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_OBJECTS, CacheFactoryInterface::class);
     $cacheFactoryClass = isset($cacheFactoryObjectConfiguration['className']) ? $cacheFactoryObjectConfiguration['className'] : CacheFactory::class;
     /** @var CacheFactory $cacheFactory */
     $cacheFactory = new $cacheFactoryClass($bootstrap->getContext(), $environment);
     $cacheManager = new CacheManager();
     $cacheManager->setCacheConfigurations($configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_CACHES));
     $cacheManager->injectConfigurationManager($configurationManager);
     $cacheManager->injectSystemLogger($bootstrap->getEarlyInstance(SystemLoggerInterface::class));
     $cacheManager->injectEnvironment($environment);
     $cacheManager->injectCacheFactory($cacheFactory);
     $cacheFactory->injectCacheManager($cacheManager);
     $bootstrap->setEarlyInstance(CacheManager::class, $cacheManager);
     $bootstrap->setEarlyInstance(CacheFactory::class, $cacheFactory);
 }