ConfigurationManager
Handle loading and writing of global and local (instance specific) configuration.
This class handles the access to the files
- EXT:core/Configuration/DefaultConfiguration.php (default TYPO3_CONF_VARS)
- config/system/settings.php or typo3conf/system/settings.php - previously known as LocalConfiguration.php
- config/system/additional.php or typo3conf/system/additional.php (optional additional code blocks) - previously known as typo3conf/AdditionalConfiguration.php
IMPORTANT: This class is intended for internal core use ONLY. Extensions should usually use the resulting $GLOBALS['TYPO3_CONF_VARS'] array, do not try to modify settings in the config/system/settings.php file with an extension.
Table of Contents
Properties
- $additionalFactoryConfigurationFile : string
- $allowedSettingsPaths : array<string|int, mixed>
- Writing to these configuration paths is always allowed, even if the requested sub path does not exist yet.
- $defaultConfigurationDescriptionFile : string
- $defaultConfigurationFile : string
- $factoryConfigurationFile : string
Methods
- canWriteConfiguration() : bool
- Checks if the configuration can be written.
- createLocalConfigurationFromFactoryConfiguration() : mixed
- Uses FactoryConfiguration file and a possible AdditionalFactoryConfiguration file in typo3conf to create a basic config/system/settings.php. This is used by the installer in an early step.
- disableFeature() : bool
- Disables a feature and writes the option to system/settings.php Short-hand method Warning: TO BE USED ONLY to disable a single feature.
- enableFeature() : bool
- Enables a certain feature and writes the option to system/settings.php Short-hand method Warning: TO BE USED ONLY to enable a single feature.
- exportConfiguration() : void
- Reads the configuration array and exports it to the global variable
- getAdditionalConfigurationFileLocation() : string
- Get the file location of the additional configuration file, currently the path and filename.
- getConfigurationValueByPath() : mixed
- Get a value from configuration, this is default configuration merged with local configuration
- getDefaultConfiguration() : array<string|int, mixed>
- Return default configuration array
- getDefaultConfigurationDescriptionFileLocation() : string
- Get the file location of the default configuration description file, currently the path and filename.
- getDefaultConfigurationFileLocation() : string
- Get the file location of the default configuration file, currently the path and filename.
- getDefaultConfigurationValueByPath() : mixed
- Get a value at given path from default configuration
- getLocalConfiguration() : array<string|int, mixed>
- Return configuration array of typo3conf/system/settings.php or config/system/settings.php, falls back to typo3conf/LocalConfiguration.php
- getLocalConfigurationFileLocation() : string
- Get the file location of the local configuration file, currently the path and filename.
- getLocalConfigurationValueByPath() : mixed
- Get a value at given path from local configuration
- getMergedLocalConfiguration() : array<string|int, mixed>
- Returns local configuration array merged with default configuration
- getSystemConfigurationFileLocation() : string
- Get the file location of the TYPO3-project specific settings file, currently the path and filename.
- removeLocalConfigurationKeysByPath() : bool
- Remove keys from LocalConfiguration
- setLocalConfigurationValueByPath() : bool
- Update a given path in local configuration to a new value.
- setLocalConfigurationValuesByPathValuePairs() : bool
- Update / set a list of path and value pairs in local configuration file
- updateLocalConfiguration() : mixed
- Override local configuration with new values.
- writeAdditionalConfiguration() : bool
- Write additional configuration array to config/system/additional.php / typo3conf/system/additional.php
- writeLocalConfiguration() : bool
- Write configuration array to %config-dir%/system/settings.php
- getAdditionalFactoryConfigurationFileLocation() : string
- Get absolute file location of factory configuration file
- getFactoryConfigurationFileLocation() : string
- Get absolute file location of factory configuration file
- isValidLocalConfigurationPath() : bool
- Check if access / write to given path in local configuration is allowed.
Properties
$additionalFactoryConfigurationFile
protected
string
$additionalFactoryConfigurationFile
= 'AdditionalFactoryConfiguration.php'
Path to possible additional factory configuration file delivered by packages
$allowedSettingsPaths
Writing to these configuration paths is always allowed, even if the requested sub path does not exist yet.
protected
array<string|int, mixed>
$allowedSettingsPaths
= ['EXTCONF', 'DB', 'SYS/caching/cacheConfigurations', 'SYS/encryptionKey', 'SYS/session', 'EXTENSIONS']
$defaultConfigurationDescriptionFile
protected
string
$defaultConfigurationDescriptionFile
= 'EXT:core/Configuration/DefaultConfigurationDescription.yaml'
Path to description file for TYPO3_CONF_VARS, relative to the public web folder
$defaultConfigurationFile
protected
string
$defaultConfigurationFile
= __DIR__ . '/../../Configuration/DefaultConfiguration.php'
Path to default TYPO3_CONF_VARS file, relative to the public web folder
$factoryConfigurationFile
protected
string
$factoryConfigurationFile
= __DIR__ . '/../../Configuration/FactoryConfiguration.php'
Path to factory configuration file used during installation as LocalConfiguration boilerplate
Methods
canWriteConfiguration()
Checks if the configuration can be written.
public
canWriteConfiguration() : bool
Return values
boolcreateLocalConfigurationFromFactoryConfiguration()
Uses FactoryConfiguration file and a possible AdditionalFactoryConfiguration file in typo3conf to create a basic config/system/settings.php. This is used by the installer in an early step.
public
createLocalConfigurationFromFactoryConfiguration() : mixed
Tags
disableFeature()
Disables a feature and writes the option to system/settings.php Short-hand method Warning: TO BE USED ONLY to disable a single feature.
public
disableFeature(string $featureName) : bool
NOT TO BE USED within iterations to disable multiple features. To update multiple features use setLocalConfigurationValuesByPathValuePairs().
Parameters
- $featureName : string
-
something like "InlineSvgImages"
Return values
bool —true on successful writing the setting
enableFeature()
Enables a certain feature and writes the option to system/settings.php Short-hand method Warning: TO BE USED ONLY to enable a single feature.
public
enableFeature(string $featureName) : bool
NOT TO BE USED within iterations to enable multiple features. To update multiple features use setLocalConfigurationValuesByPathValuePairs().
Parameters
- $featureName : string
-
something like "InlineSvgImages"
Return values
bool —true on successful writing the setting
exportConfiguration()
Reads the configuration array and exports it to the global variable
public
exportConfiguration() : void
Tags
getAdditionalConfigurationFileLocation()
Get the file location of the additional configuration file, currently the path and filename.
public
getAdditionalConfigurationFileLocation() : string
Return values
stringgetConfigurationValueByPath()
Get a value from configuration, this is default configuration merged with local configuration
public
getConfigurationValueByPath(string $path) : mixed
Parameters
- $path : string
-
Path to search for
getDefaultConfiguration()
Return default configuration array
public
getDefaultConfiguration() : array<string|int, mixed>
Return values
array<string|int, mixed>getDefaultConfigurationDescriptionFileLocation()
Get the file location of the default configuration description file, currently the path and filename.
public
getDefaultConfigurationDescriptionFileLocation() : string
Return values
stringgetDefaultConfigurationFileLocation()
Get the file location of the default configuration file, currently the path and filename.
public
getDefaultConfigurationFileLocation() : string
Return values
stringgetDefaultConfigurationValueByPath()
Get a value at given path from default configuration
public
getDefaultConfigurationValueByPath(string $path) : mixed
Parameters
- $path : string
-
Path to search for
Return values
mixed —Value at path
getLocalConfiguration()
Return configuration array of typo3conf/system/settings.php or config/system/settings.php, falls back to typo3conf/LocalConfiguration.php
public
getLocalConfiguration() : array<string|int, mixed>
Return values
array<string|int, mixed> —Content array of local configuration file
getLocalConfigurationFileLocation()
Get the file location of the local configuration file, currently the path and filename.
public
getLocalConfigurationFileLocation() : string
Path to local overload TYPO3_CONF_VARS file.
Return values
stringgetLocalConfigurationValueByPath()
Get a value at given path from local configuration
public
getLocalConfigurationValueByPath(string $path) : mixed
Parameters
- $path : string
-
Path to search for
Return values
mixed —Value at path
getMergedLocalConfiguration()
Returns local configuration array merged with default configuration
public
getMergedLocalConfiguration() : array<string|int, mixed>
Return values
array<string|int, mixed>getSystemConfigurationFileLocation()
Get the file location of the TYPO3-project specific settings file, currently the path and filename.
public
getSystemConfigurationFileLocation([bool $relativeToProjectRoot = false ]) : string
Path to local overload TYPO3_CONF_VARS file.
Parameters
- $relativeToProjectRoot : bool = false
Return values
stringremoveLocalConfigurationKeysByPath()
Remove keys from LocalConfiguration
public
removeLocalConfigurationKeysByPath(array<string|int, mixed> $keys) : bool
Parameters
- $keys : array<string|int, mixed>
-
Array with key paths to remove from LocalConfiguration
Return values
bool —TRUE if something was removed
setLocalConfigurationValueByPath()
Update a given path in local configuration to a new value.
public
setLocalConfigurationValueByPath(string $path, mixed $value) : bool
Warning: TO BE USED ONLY to update a single feature. NOT TO BE USED within iterations to update multiple features. To update multiple features use setLocalConfigurationValuesByPathValuePairs().
Parameters
- $path : string
-
Path to update
- $value : mixed
-
Value to set
Return values
bool —TRUE on success
setLocalConfigurationValuesByPathValuePairs()
Update / set a list of path and value pairs in local configuration file
public
setLocalConfigurationValuesByPathValuePairs(array<string|int, mixed> $pairs) : bool
Parameters
- $pairs : array<string|int, mixed>
-
Key is path, value is value to set
Return values
bool —TRUE on success
updateLocalConfiguration()
Override local configuration with new values.
public
updateLocalConfiguration(array<string|int, mixed> $configurationToMerge) : mixed
Parameters
- $configurationToMerge : array<string|int, mixed>
-
Override configuration array
writeAdditionalConfiguration()
Write additional configuration array to config/system/additional.php / typo3conf/system/additional.php
public
writeAdditionalConfiguration(array<string|int, mixed> $additionalConfigurationLines) : bool
Parameters
- $additionalConfigurationLines : array<string|int, mixed>
-
The configuration lines to be written
Tags
Return values
bool —TRUE on success
writeLocalConfiguration()
Write configuration array to %config-dir%/system/settings.php
public
writeLocalConfiguration(array<string|int, mixed> $configuration) : bool
Parameters
- $configuration : array<string|int, mixed>
-
The local configuration to be written
Tags
Return values
bool —TRUE on success
getAdditionalFactoryConfigurationFileLocation()
Get absolute file location of factory configuration file
protected
getAdditionalFactoryConfigurationFileLocation() : string
Return values
stringgetFactoryConfigurationFileLocation()
Get absolute file location of factory configuration file
protected
getFactoryConfigurationFileLocation() : string
Return values
stringisValidLocalConfigurationPath()
Check if access / write to given path in local configuration is allowed.
protected
isValidLocalConfigurationPath(string $path) : bool
Parameters
- $path : string
-
Path to search for
Return values
bool —TRUE if access is allowed