ConfigurationManager implements ConfigurationManagerInterface
Generic ConfigurationManager implementation. Uses BackendConfigurationManager or FrontendConfigurationManager depending on request type.
only to be used within Extbase, not part of TYPO3 Core API.
Table of Contents
Interfaces
- ConfigurationManagerInterface
- "empty" interface for singletons (marker interface pattern)
Methods
- __construct() : mixed
- 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.
Methods
__construct()
public
__construct(FrontendConfigurationManager $feConfigManager, BackendConfigurationManager $beConfigManager) : mixed
Parameters
- $feConfigManager : FrontendConfigurationManager
- $beConfigManager : BackendConfigurationManager
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.
You can get the following types of configuration invoking: CONFIGURATION_TYPE_SETTINGS: Extbase settings CONFIGURATION_TYPE_FRAMEWORK: the current module/plugin settings CONFIGURATION_TYPE_FULL_TYPOSCRIPT: a raw TS array
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
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