BackendConfigurationManager extends AbstractConfigurationManager

A general purpose configuration manager used in backend mode.

Internal

only to be used within Extbase, not part of TYPO3 Core API.

Table of Contents

Constants

DEFAULT_BACKEND_STORAGE_PID  = 0
Default backend storage PID

Properties

$configuration  : array<string|int, mixed>
Storage of the raw TypoScript configuration
$configurationCache  : array<string|int, mixed>
1st level configuration cache
$contentObject  : ContentObjectRenderer
$currentPageId  : int
stores the current page ID
$extensionName  : string
name of the extension this Configuration Manager instance belongs to
$pluginName  : string
name of the plugin this Configuration Manager instance belongs to
$typoScriptService  : TypoScriptService
$typoScriptSetupCache  : array<string|int, mixed>

Methods

__construct()  : mixed
getConfiguration()  : array<string|int, mixed>
Loads the Extbase Framework configuration.
getContentObject()  : ContentObjectRenderer
getDefaultBackendStoragePid()  : int
Returns the default backend storage pid
getTypoScriptSetup()  : array<string|int, mixed>
Returns TypoScript Setup array from current Environment.
setConfiguration()  : void
Sets the specified raw configuration coming from the outside.
setContentObject()  : void
getBackendUser()  : BackendUserAuthentication
getContextSpecificFrameworkConfiguration()  : array<string|int, mixed>
We need to set some default request handler if the framework configuration could not be loaded; to make sure Extbase also works in Backend modules in all contexts.
getControllerConfiguration()  : array<string|int, mixed>
Returns the configured controller/action configuration of the specified module in the format array( 'Controller1' => array('action1', 'action2'), 'Controller2' => array('action3', 'action4') )
getCurrentPageId()  : int
Returns the page uid of the current page.
getCurrentPageIdFromCurrentSiteRoot()  : int
Gets the current page ID from the first site root in tree.
getCurrentPageIdFromGetPostData()  : int
Gets the current page ID from the GET/POST data.
getCurrentPageIdFromRootTemplate()  : int
Gets the current page ID from the first created root template.
getExtbaseConfiguration()  : array<string|int, mixed>
Returns the TypoScript configuration found in config.tx_extbase
getPageChildrenRecursive()  : array<string|int, int>
Recursively fetch all children of a given page
getPluginConfiguration()  : array<string|int, mixed>
Returns the TypoScript configuration found in module.tx_yourextension_yourmodule merged with the global configuration of your extension from module.tx_yourextension
getRecursiveStoragePids()  : array<string|int, int>
Returns an array of storagePIDs that are below a list of storage pids.
overrideControllerConfigurationWithSwitchableControllerActions()  : void
This method possibly overrides the controller configuration with an alternative configuration passed along via $frameworkConfiguration.

Constants

DEFAULT_BACKEND_STORAGE_PID

Default backend storage PID

public mixed DEFAULT_BACKEND_STORAGE_PID = 0

Properties

$configuration

Storage of the raw TypoScript configuration

protected array<string|int, mixed> $configuration = []

$configurationCache

1st level configuration cache

protected array<string|int, mixed> $configurationCache = []

$currentPageId

stores the current page ID

protected int $currentPageId

$extensionName

name of the extension this Configuration Manager instance belongs to

protected string $extensionName

$pluginName

name of the plugin this Configuration Manager instance belongs to

protected string $pluginName

$typoScriptSetupCache

protected array<string|int, mixed> $typoScriptSetupCache = []

Methods

getConfiguration()

Loads the Extbase Framework configuration.

public getConfiguration([string|null $extensionName = null ][, string|null $pluginName = null ]) : array<string|int, mixed>

The Extbase framework configuration HAS TO be retrieved using this method, as they are come from different places than the normal settings. Framework configuration is, in contrast to normal settings, needed for the Extbase framework to operate correctly.

Parameters
$extensionName : string|null = null

if specified, the configuration for the given extension will be returned (plugin.tx_extensionname)

$pluginName : string|null = null

if specified, the configuration for the given plugin will be returned (plugin.tx_extensionname_pluginname)

Return values
array<string|int, mixed>

the Extbase framework configuration

getContentObject()

public getContentObject() : ContentObjectRenderer
Tags
todo:

This dependency to ContentObjectRenderer on a singleton object is unfortunate: The current instance is set through USER cObj and extbase Bootstrap, its null in Backend. This getter is misused to retrieve current ContentObjectRenderer state by some extensions (eg. ext:form). This dependency should be removed altogether. Although the current implementation always returns an instance of ContentObjectRenderer, we do not want to hard-expect consuming classes on that, since this methods needs to be dropped anyways, so potential null return is kept.

Return values
ContentObjectRenderer

getDefaultBackendStoragePid()

Returns the default backend storage pid

public getDefaultBackendStoragePid() : int
Return values
int

getTypoScriptSetup()

Returns TypoScript Setup array from current Environment.

public getTypoScriptSetup() : array<string|int, mixed>
Return values
array<string|int, mixed>

the raw TypoScript setup

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

getContextSpecificFrameworkConfiguration()

We need to set some default request handler if the framework configuration could not be loaded; to make sure Extbase also works in Backend modules in all contexts.

protected getContextSpecificFrameworkConfiguration(array<string|int, mixed> $frameworkConfiguration) : array<string|int, mixed>
Parameters
$frameworkConfiguration : array<string|int, mixed>
Return values
array<string|int, mixed>

getControllerConfiguration()

Returns the configured controller/action configuration of the specified module in the format array( 'Controller1' => array('action1', 'action2'), 'Controller2' => array('action3', 'action4') )

protected getControllerConfiguration(string $extensionName, string $pluginName) : array<string|int, mixed>
Parameters
$extensionName : string
$pluginName : string

in BE mode this is actually the module signature. But we're using it just like the plugin name in FE

Return values
array<string|int, mixed>

getCurrentPageId()

Returns the page uid of the current page.

protected getCurrentPageId() : int

If no page is selected, we'll return the uid of the first root page.

Return values
int

current page id. If no page is selected current root page id is returned

getCurrentPageIdFromCurrentSiteRoot()

Gets the current page ID from the first site root in tree.

protected getCurrentPageIdFromCurrentSiteRoot() : int
Return values
int

the page UID, will be 0 if none has been set

getCurrentPageIdFromGetPostData()

Gets the current page ID from the GET/POST data.

protected getCurrentPageIdFromGetPostData() : int
Return values
int

the page UID, will be 0 if none has been set

getCurrentPageIdFromRootTemplate()

Gets the current page ID from the first created root template.

protected getCurrentPageIdFromRootTemplate() : int
Return values
int

the page UID, will be 0 if none has been set

getExtbaseConfiguration()

Returns the TypoScript configuration found in config.tx_extbase

protected getExtbaseConfiguration() : array<string|int, mixed>
Return values
array<string|int, mixed>

getPageChildrenRecursive()

Recursively fetch all children of a given page

protected getPageChildrenRecursive(int $pid, int $depth, int $begin, string $permsClause) : array<string|int, int>
Parameters
$pid : int

uid of the page

$depth : int
$begin : int
$permsClause : string
Return values
array<string|int, int>

List of child row $uid's

getPluginConfiguration()

Returns the TypoScript configuration found in module.tx_yourextension_yourmodule merged with the global configuration of your extension from module.tx_yourextension

protected getPluginConfiguration(string $extensionName[, string $pluginName = null ]) : array<string|int, mixed>
Parameters
$extensionName : string
$pluginName : string = null

in BE mode this is actually the module signature. But we're using it just like the plugin name in FE

Return values
array<string|int, mixed>

getRecursiveStoragePids()

Returns an array of storagePIDs that are below a list of storage pids.

protected getRecursiveStoragePids(array<string|int, int> $storagePids[, int $recursionDepth = 0 ]) : array<string|int, int>
Parameters
$storagePids : array<string|int, int>

Storage PIDs to start at; multiple PIDs possible as comma-separated list

$recursionDepth : int = 0

Maximum number of levels to search, 0 to disable recursive lookup

Return values
array<string|int, int>

Uid list including the start $storagePids

overrideControllerConfigurationWithSwitchableControllerActions()

This method possibly overrides the controller configuration with an alternative configuration passed along via $frameworkConfiguration.

protected overrideControllerConfigurationWithSwitchableControllerActions(array<string|int, mixed> &$frameworkConfiguration, array<string|int, mixed> $switchableControllerActions) : void
Deprecated

since TYPO3 v10, will be removed in one of the next major versions of TYPO3, probably version 11.0 or 12.0.

If called by \TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getConfiguration, $switchableControllerActions may contain an alternative controller configuration defined via typoscript:

Example: tt_content.list.20.indexedsearch_pi2.switchableControllerActions { Search { 0 = search } }

If called by \TYPO3\CMS\Extbase\Configuration\FrontendConfigurationManager::overrideSwitchableControllerActionsFromFlexForm, $switchableControllerActions may contain an alternative controller configuration defined via plugin flexform.

Parameters
$frameworkConfiguration : array<string|int, mixed>
$switchableControllerActions : array<string|int, mixed>

        
On this page

Search results