public static function initializeConfiguration(Bootstrap $bootstrap)
    {
        $context = $bootstrap->getContext();
        $environment = new Environment($context);
        $environment->setTemporaryDirectoryBase(FLOW_PATH_TEMPORARY_BASE);
        $bootstrap->setEarlyInstance(Environment::class, $environment);

        /** @var PackageManager $packageManager */
        $packageManager = $bootstrap->getEarlyInstance(PackageManager::class);

        $configurationManager = new ConfigurationManager($context);
        $configurationManager->setTemporaryDirectoryPath($environment->getPathToTemporaryDirectory());
        $configurationManager->injectConfigurationSource(new YamlSource());
        $configurationManager->setPackages($packageManager->getFlowPackages());
        if ($configurationManager->loadConfigurationCache() === false) {
            $configurationManager->refreshConfiguration();
        }

        $settings = $configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'Neos.Flow');

        $lockManager = new LockManager($settings['utility']['lockStrategyClassName'], ['lockDirectory' => Files::concatenatePaths([
            $environment->getPathToTemporaryDirectory(),
            'Lock'
        ])]);
        Lock::setLockManager($lockManager);
        $packageManager->injectSettings($settings);

        $bootstrap->getSignalSlotDispatcher()->dispatch(ConfigurationManager::class, 'configurationManagerReady', [$configurationManager]);
        $bootstrap->setEarlyInstance(ConfigurationManager::class, $configurationManager);
    }
public static function initializeConfiguration(Bootstrap $bootstrap)
    {
        $context = $bootstrap->getContext();
        $environment = new Environment($context);
        $environment->setTemporaryDirectoryBase(FLOW_PATH_TEMPORARY_BASE);
        $bootstrap->setEarlyInstance(Environment::class, $environment);

        /** @var PackageManager $packageManager */
        $packageManager = $bootstrap->getEarlyInstance(PackageManager::class);

        $configurationManager = new ConfigurationManager($context);
        $configurationManager->setTemporaryDirectoryPath($environment->getPathToTemporaryDirectory());
        $configurationManager->injectConfigurationSource(new YamlSource());
        $configurationManager->setPackages($packageManager->getFlowPackages());
        if ($configurationManager->loadConfigurationCache() === false) {
            $configurationManager->refreshConfiguration();
        }

        $settings = $configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'Neos.Flow');

        $lockManager = new LockManager($settings['utility']['lockStrategyClassName'], ['lockDirectory' => Files::concatenatePaths([
            $environment->getPathToTemporaryDirectory(),
            'Lock'
        ])]);
        Lock::setLockManager($lockManager);
        $packageManager->injectSettings($settings);

        $bootstrap->getSignalSlotDispatcher()->dispatch(ConfigurationManager::class, 'configurationManagerReady', [$configurationManager]);
        $bootstrap->setEarlyInstance(ConfigurationManager::class, $configurationManager);
    }
public static function initializeConfiguration ( Bootstrap $ bootstrap ) { $ context = $ bootstrap -> getContext ( ) ; $ environment = new Environment ( $ context ) ; $ environment -> setTemporaryDirectoryBase ( FLOW_PATH_TEMPORARY_BASE ) ; $ bootstrap -> setEarlyInstance ( Environment :: class , $ environment ) ; /** @var PackageManager $packageManager */ $ packageManager = $ bootstrap -> getEarlyInstance ( PackageManager :: class ) ; $ configurationManager = new ConfigurationManager ( $ context ) ; $ configurationManager -> setTemporaryDirectoryPath ( $ environment -> getPathToTemporaryDirectory ( ) ) ; $ configurationManager -> injectConfigurationSource ( new YamlSource ( ) ) ; $ configurationManager -> setPackages ( $ packageManager -> getFlowPackages ( ) ) ; if ( $ configurationManager -> loadConfigurationCache ( ) === false ) { $ configurationManager -> refreshConfiguration ( ) ; } $ settings = $ configurationManager -> getConfiguration ( ConfigurationManager :: CONFIGURATION_TYPE_SETTINGS , 'Neos.Flow' ) ; $ lockManager = new LockManager ( $ settings [ 'utility' ] [ 'lockStrategyClassName' ] , [ 'lockDirectory' => Files :: concatenatePaths ( [ $ environment -> getPathToTemporaryDirectory ( ) , 'Lock' ] ) ] ) ; Lock :: setLockManager ( $ lockManager ) ; $ packageManager -> injectSettings ( $ settings ) ; $ bootstrap -> getSignalSlotDispatcher ( ) -> dispatch ( ConfigurationManager :: class , 'configurationManagerReady' , [ $ configurationManager ] ) ; $ bootstrap -> setEarlyInstance ( ConfigurationManager :: class , $ configurationManager ) ; }
Initializes the Configuration Manager, the Flow settings and the Environment service

@param Bootstrap $bootstrap
@return void
@throws FlowException
Initializes the Configuration Manager the Flow settings and the Environment service