ConfigurationManagerInterface extends SingletonInterface

"empty" interface for singletons (marker interface pattern)

Internal

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

Internal

Set by extbase bootstrap internally.

Tags
todo:

It may be possible to remove this in v13?!

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
Internal

Set by extbase bootstrap internally.


        
On this page

Search results