ConfigurationManager implements ConfigurationManagerInterface

Generic ConfigurationManager implementation. Uses BackendConfigurationManager or FrontendConfigurationManager depending on request type.

Internal

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

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

        
On this page

Search results