PHP Class Neos\Flow\Configuration\ConfigurationManager

Afficher le fichier Open project: neos/flow-development-collection Class Usage Examples

Protected Properties

Свойство Type Description
$cacheNeedsUpdate boolean
$configurationSource Neos\Flow\Configuration\Source\YamlSource
$configurationTypes array Defines which Configuration Type is processed by which logic
$configurations array Storage of the raw special configurations
$context Neos\Flow\Core\ApplicationContext The application context of the configuration to manage
$orderedListOfContextNames array Example: Development, Development/Foo, Development/Foo/Bar
$packages array Active packages to load the configuration for
$subRoutesRecursionLevel integer Counts how many SubRoutes have been loaded. If this number exceeds MAXIMUM_SUBROUTE_RECURSIONS, an exception is thrown
$temporaryDirectoryPath string An absolute file path to store configuration caches in. If null no cache will be active.

Méthodes publiques

Méthode Description
__construct ( ApplicationContext $context ) Constructs the configuration manager
flushConfigurationCache ( ) : void If a cache file with previously saved configuration exists, it is removed.
getAvailableConfigurationTypes ( ) : array Get the available configuration-types
getConfiguration ( string $configurationType, string $configurationPath = null ) : array Returns the specified raw configuration.
injectConfigurationSource ( YamlSource $configurationSource ) : void Injects the configuration source
isSplitSourceAllowedForConfigurationType ( string $configurationType ) : boolean Check the allowSplitSource setting for the configuration type.
loadConfigurationCache ( ) : boolean If a cache file with previously saved configuration exists, it is loaded.
registerConfigurationType ( string $configurationType, string $configurationProcessingType = self::CONFIGURATION_PROCESSING_TYPE_DEFAULT, boolean $allowSplitSource = false ) : void Registers a new configuration type with the given configuration processing type.
resolveConfigurationProcessingType ( string $configurationType ) : string Resolve the processing type for the configuration type.
setPackages ( array $packages ) : void Sets the active packages to load the configuration for
setTemporaryDirectoryPath ( string $temporaryDirectoryPath ) Set an absolute file path to store configuration caches in. If null no cache will be active.
shutdown ( ) : void Shuts down the configuration manager.
warmup ( ) : void Warms up the complete configuration cache, i.e. fetching every configured configuration type in order to be able to store it into the cache, if configured to do so.

Méthodes protégées

Méthode Description
buildSubRouteConfigurations ( array $routesConfiguration, array $subRoutesConfiguration, string $subRouteKey, array $subRouteOptions ) : array Merges all routes in $routesConfiguration with the sub routes in $subRoutesConfiguration
constructConfigurationCachePath ( ) : string Constructs a path to the configuration cache PHP file.
emitConfigurationManagerReady ( ConfigurationManager $configurationManager ) : void Emits a signal after The ConfigurationManager has been loaded
includeSubRoutesFromSettings ( array &$routeDefinitions ) : void Merges routes from Neos.Flow.mvc.routes settings into $routeDefinitions NOTE: Routes from settings will always be appended to existing route definitions from the main Routes configuration!
loadConfiguration ( string $configurationType, array $packages ) : void Loads special configuration defined in the specified packages and merges them with those potentially existing in the global configuration folders. The result is stored in the configuration manager's configuration registry and can be retrieved with the getConfiguration() method.
mergePolicyConfiguration ( array $firstConfigurationArray, array $secondConfigurationArray ) : array Merges two policy configuration arrays.
mergeRoutesWithSubRoutes ( array &$routesConfiguration ) : void Loads specified sub routes and builds composite routes.
postProcessConfiguration ( array &$configurations ) : void Post processes the given configuration array by replacing constants with their actual value.
replacePlaceholders ( string $string, array $variables ) : string Replaces placeholders in the format with the corresponding variable of the specified $variables collection.
replaceVariablesInValue ( string $value ) : mixed Replaces variables (in the format %CONSTANT% or %ENV::ENVIRONMENT_VARIABLE) in the given (configuration) value string.
saveConfigurationCache ( ) : void Saves the current configuration into a cache file and creates a cache inclusion script in the context's Configuration directory.
validatePolicyConfiguration ( array $policyConfiguration, Neos\Flow\Package\PackageInterface $package ) : void Validates the given $policyConfiguration and throws an exception if its not valid

Method Details

__construct() public méthode

Constructs the configuration manager
public __construct ( ApplicationContext $context )
$context Neos\Flow\Core\ApplicationContext The application context to fetch configuration for

buildSubRouteConfigurations() protected méthode

Merges all routes in $routesConfiguration with the sub routes in $subRoutesConfiguration
protected buildSubRouteConfigurations ( array $routesConfiguration, array $subRoutesConfiguration, string $subRouteKey, array $subRouteOptions ) : array
$routesConfiguration array
$subRoutesConfiguration array
$subRouteKey string the key of the sub route:
$subRouteOptions array
Résultat array the merged route configuration

constructConfigurationCachePath() protected méthode

Derived from the temporary path and application context.
protected constructConfigurationCachePath ( ) : string
Résultat string

emitConfigurationManagerReady() protected méthode

Emits a signal after The ConfigurationManager has been loaded
protected emitConfigurationManagerReady ( ConfigurationManager $configurationManager ) : void
$configurationManager ConfigurationManager
Résultat void

flushConfigurationCache() public méthode

If a cache file with previously saved configuration exists, it is removed.
public flushConfigurationCache ( ) : void
Résultat void

getAvailableConfigurationTypes() public méthode

Get the available configuration-types
public getAvailableConfigurationTypes ( ) : array
Résultat array

getConfiguration() public méthode

The actual configuration will be merged from different sources in a defined order. Note that this is a low level method and mostly makes sense to be used by Flow internally. If possible just use settings and have them injected.
public getConfiguration ( string $configurationType, string $configurationPath = null ) : array
$configurationType string The kind of configuration to fetch - must be one of the CONFIGURATION_TYPE_* constants
$configurationPath string The path inside the configuration to fetch
Résultat array The configuration

includeSubRoutesFromSettings() protected méthode

Merges routes from Neos.Flow.mvc.routes settings into $routeDefinitions NOTE: Routes from settings will always be appended to existing route definitions from the main Routes configuration!
protected includeSubRoutesFromSettings ( array &$routeDefinitions ) : void
$routeDefinitions array
Résultat void

injectConfigurationSource() public méthode

Injects the configuration source
public injectConfigurationSource ( YamlSource $configurationSource ) : void
$configurationSource Neos\Flow\Configuration\Source\YamlSource
Résultat void

isSplitSourceAllowedForConfigurationType() public méthode

Check the allowSplitSource setting for the configuration type.
public isSplitSourceAllowedForConfigurationType ( string $configurationType ) : boolean
$configurationType string
Résultat boolean

loadConfiguration() protected méthode

Loads special configuration defined in the specified packages and merges them with those potentially existing in the global configuration folders. The result is stored in the configuration manager's configuration registry and can be retrieved with the getConfiguration() method.
protected loadConfiguration ( string $configurationType, array $packages ) : void
$configurationType string The kind of configuration to load - must be one of the CONFIGURATION_TYPE_* constants
$packages array An array of Package objects (indexed by package key) to consider
Résultat void

loadConfigurationCache() public méthode

If a cache file with previously saved configuration exists, it is loaded.
public loadConfigurationCache ( ) : boolean
Résultat boolean If cached configuration was loaded or not

mergePolicyConfiguration() protected méthode

Merges two policy configuration arrays.
protected mergePolicyConfiguration ( array $firstConfigurationArray, array $secondConfigurationArray ) : array
$firstConfigurationArray array
$secondConfigurationArray array
Résultat array

mergeRoutesWithSubRoutes() protected méthode

Loads specified sub routes and builds composite routes.
protected mergeRoutesWithSubRoutes ( array &$routesConfiguration ) : void
$routesConfiguration array
Résultat void

postProcessConfiguration() protected méthode

Post processes the given configuration array by replacing constants with their actual value.
protected postProcessConfiguration ( array &$configurations ) : void
$configurations array
Résultat void

registerConfigurationType() public méthode

The processing type must be supported by the ConfigurationManager, see CONFIGURATION_PROCESSING_TYPE_* for what is available.
public registerConfigurationType ( string $configurationType, string $configurationProcessingType = self::CONFIGURATION_PROCESSING_TYPE_DEFAULT, boolean $allowSplitSource = false ) : void
$configurationType string The type to register, may be anything
$configurationProcessingType string One of CONFIGURATION_PROCESSING_TYPE_*, defaults to CONFIGURATION_PROCESSING_TYPE_DEFAULT
$allowSplitSource boolean If TRUE, the type will be used as a "prefix" when looking for split configuration. Only supported for DEFAULT and SETTINGS processing types!
Résultat void

replacePlaceholders() protected méthode

Replaces placeholders in the format with the corresponding variable of the specified $variables collection.
protected replacePlaceholders ( string $string, array $variables ) : string
$string string
$variables array
Résultat string

replaceVariablesInValue() protected méthode

Replaces variables (in the format %CONSTANT% or %ENV::ENVIRONMENT_VARIABLE) in the given (configuration) value string.
protected replaceVariablesInValue ( string $value ) : mixed
$value string
Résultat mixed

resolveConfigurationProcessingType() public méthode

This returns the CONFIGURATION_PROCESSING_TYPE_* to use for the given $configurationType.
public resolveConfigurationProcessingType ( string $configurationType ) : string
$configurationType string
Résultat string

saveConfigurationCache() protected méthode

Saves the current configuration into a cache file and creates a cache inclusion script in the context's Configuration directory.
protected saveConfigurationCache ( ) : void
Résultat void

setPackages() public méthode

Sets the active packages to load the configuration for
public setPackages ( array $packages ) : void
$packages array
Résultat void

setTemporaryDirectoryPath() public méthode

Set an absolute file path to store configuration caches in. If null no cache will be active.
public setTemporaryDirectoryPath ( string $temporaryDirectoryPath )
$temporaryDirectoryPath string

shutdown() public méthode

This method writes the current configuration into a cache file if Flow was configured to do so.
public shutdown ( ) : void
Résultat void

validatePolicyConfiguration() protected méthode

Validates the given $policyConfiguration and throws an exception if its not valid
protected validatePolicyConfiguration ( array $policyConfiguration, Neos\Flow\Package\PackageInterface $package ) : void
$policyConfiguration array
$package Neos\Flow\Package\PackageInterface
Résultat void

warmup() public méthode

Warms up the complete configuration cache, i.e. fetching every configured configuration type in order to be able to store it into the cache, if configured to do so.
See also: Neos\Flow\Configuration\ConfigurationManager::shutdown
public warmup ( ) : void
Résultat void

Property Details

$cacheNeedsUpdate protected_oe property

protected bool $cacheNeedsUpdate
Résultat boolean

$configurationSource protected_oe property

protected YamlSource,Neos\Flow\Configuration\Source $configurationSource
Résultat Neos\Flow\Configuration\Source\YamlSource

$configurationTypes protected_oe property

Defines which Configuration Type is processed by which logic
protected array $configurationTypes
Résultat array

$configurations protected_oe property

Storage of the raw special configurations
protected array $configurations
Résultat array

$context protected_oe property

The application context of the configuration to manage
protected ApplicationContext,Neos\Flow\Core $context
Résultat Neos\Flow\Core\ApplicationContext

$orderedListOfContextNames protected_oe property

Example: Development, Development/Foo, Development/Foo/Bar
protected array $orderedListOfContextNames
Résultat array

$packages protected_oe property

Active packages to load the configuration for
protected array $packages
Résultat array

$subRoutesRecursionLevel protected_oe property

Counts how many SubRoutes have been loaded. If this number exceeds MAXIMUM_SUBROUTE_RECURSIONS, an exception is thrown
protected int $subRoutesRecursionLevel
Résultat integer

$temporaryDirectoryPath protected_oe property

An absolute file path to store configuration caches in. If null no cache will be active.
protected string $temporaryDirectoryPath
Résultat string