ConfigurationManagerInterface extends SingletonInterface
"empty" interface for singletons (marker interface pattern)
only to be used within Extbase, not part of TYPO3 Core API.
Table of Contents
Constants
- CONFIGURATION_TYPE_FRAMEWORK = 'Framework'
- CONFIGURATION_TYPE_FULL_TYPOSCRIPT = 'FullTypoScript'
- CONFIGURATION_TYPE_SETTINGS = 'Settings'
Methods
- getConfiguration() : array<string|int, mixed>
- Returns the specified configuration.
- setConfiguration() : void
- Sets the specified raw configuration coming from the outside.
- setRequest() : void
- Set the current request. The ConfigurationManager needs this to determine which concrete ConfigurationManager (BE / FE) has to be created, and the concrete ConfigurationManager need this to access current site and similar.
Constants
CONFIGURATION_TYPE_FRAMEWORK
public
mixed
CONFIGURATION_TYPE_FRAMEWORK
= 'Framework'
CONFIGURATION_TYPE_FULL_TYPOSCRIPT
public
mixed
CONFIGURATION_TYPE_FULL_TYPOSCRIPT
= 'FullTypoScript'
CONFIGURATION_TYPE_SETTINGS
public
mixed
CONFIGURATION_TYPE_SETTINGS
= 'Settings'
Methods
getConfiguration()
Returns the specified configuration.
public
getConfiguration(string $configurationType[, string|null $extensionName = null ][, string|null $pluginName = null ]) : array<string|int, mixed>
The actual configuration will be merged from different sources in a defined order.
Note that this is a low level method and only makes sense to be used by Extbase internally.
Parameters
- $configurationType : string
-
The kind of configuration to fetch - must be one of the CONFIGURATION_TYPE_* constants
- $extensionName : string|null = null
-
if specified, the configuration for the given extension will be returned.
- $pluginName : string|null = null
-
if specified, the configuration for the given plugin will be returned.
Return values
array<string|int, mixed> —The configuration
setConfiguration()
Sets the specified raw configuration coming from the outside.
public
setConfiguration([array<string|int, mixed> $configuration = [] ]) : void
Note that this is a low level method and only makes sense to be used by Extbase internally.
Parameters
- $configuration : array<string|int, mixed> = []
-
The new configuration
Set by extbase bootstrap internally.
Tags
setRequest()
Set the current request. The ConfigurationManager needs this to determine which concrete ConfigurationManager (BE / FE) has to be created, and the concrete ConfigurationManager need this to access current site and similar.
public
setRequest(ServerRequestInterface $request) : void
This state is updated by extbase bootstrap.
Note this makes this singleton stateful! This is ugly, but can't be avoided since the ConfigurationManager is injected into services that are injected itself. This stateful singleton is of course an anti-pattern, but it is very hard to get rid of until a re-design of the extbase configuration logic.
Parameters
- $request : ServerRequestInterface
Set by extbase bootstrap internally.