$GLOBALS

Note

Variables in italics may be set in a script prior to the bootstrap process so they are optional.

Note

To make the table below a bit more compact, namespaces were left out. Here are the fully qualified class names referred to below:

  • "SystemEnvironmentBuilder" = \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder

  • "Bootstrap" = \TYPO3\CMS\Core\Core\Bootstrap

  • "PackageManager" = \TYPO3\CMS\Core\Package\PackageManager

Global variable

Defined in

Description

Avail. in FE

$GLOBALS['TYPO3_CONF_VARS']

typo3/sysext/core/Configuration/DefaultConfiguration.php

TYPO3 configuration array. Please refer to file typo3/sysext/core/Configuration/DefaultConfigurationDescription.php where each option is described in detail in the comments. The same comments are also available in the Install Tool when you choose "All Configuration".

Yes

$GLOBALS['TYPO3_LOADED_EXT']

PackageManager::loadPackageManagerStatesFromCache() PackageManager::initializeCompatibilityLoadedExtArray()

Array with all loaded extensions listed with a set of paths. You can check if an extension is loaded by the function \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded($key) where $key is the extension key.

Yes

$GLOBALS['EXEC_TIME']

SystemEnvironmentBuilder::initializeGlobalTimeTrackingVariables()

Is set to time() so that the rest of the script has a common value for the script execution time.

Note

Should not be used anymore, rather use the DateTime Aspect.

Yes

$GLOBALS['SIM_EXEC_TIME']

SystemEnvironmentBuilder::initializeGlobalTimeTrackingVariables()

Is set to $GLOBALS['EXEC_TIME'] but can be altered later in the script if we want to simulate another execution-time when selecting from e.g. a database (used in the frontend for preview of future and past dates)

Note

Should not be used anymore, rather use the DateTime Aspect.

Yes

$GLOBALS['PAGES_TYPES']

typo3/sysext/core/ext_tables.php

See Page Types

(occasionally)

$GLOBALS['TCA']

Bootstrap::loadExtensionTables()

See TCA Reference

Yes, partly

$GLOBALS['TBE_MODULES']

typo3/sysext/core/ext_tables.php

The backend main/sub-module structure. See section elsewhere plus source code of class \TYPO3\CMS\Backend\Module\ModuleLoader which also includes some examples.

(occasionally)

$GLOBALS['TBE_STYLES']

typo3/sysext/core/ext_tables.php

Contains information related to BE skinning.

(occasionally)

$GLOBALS['T3_SERVICES']

SystemEnvironmentBuilder::initializeGlobalVariables()

Global registration of services.

Yes

$GLOBALS['BE_USER']

Bootstrap::initializeBackendUser()

Backend user object. See Backend User Object.

(depends)

$GLOBALS['TBE_MODULES_EXT']

[In ext_tables.php files of extensions]

Used to store information about modules from extensions that should be included in "function menus" of real modules. See the Extension API for details.

(occasionally)

$GLOBALS['TCA_DESCR']

[tables.php files]

Can be set to contain file references to local lang files containing TCA_DESCR labels. See section about Context Sensitive Help.

No

Exploring Global Variables

Many of the global variables described above can be inspected using the ADMIN TOOLS > Configuration module.

Warning

This module is always viewed in the BE context. Variables defined only in the FE context will not be visible there.

Note

This module is purely a browser. It does not let you change values.

It also lets you browse a number of other global arrays. Just be curious and investigate!

The Configuration module in **ADMIN TOOLS**

Viewing the $GLOBALS['TYPO3_CONF_VARS] array using the ADMIN TOOLS > Configuration module