Global variables¶
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 |
$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 |
$TYPO3_DB | Bootstrap::initializeTypo3DbGlobal() | An instance of the TYPO3 DB wrapper class, Attention You should NOT use this anymore. Use Doctrine instead! |
Yes |
$EXEC_TIME | SystemEnvironmentBuilder::initializeGlobalTimeTrackingVariables() | Is set to time() so that the rest of the script has a common value
for the script execution time. |
YES |
$SIM_EXEC_TIME | SystemEnvironmentBuilder::initializeGlobalTimeTrackingVariables() | Is set to $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) |
Yes |
$PARSETIME_START | SystemEnvironmentBuilder::initializeGlobalTimeTrackingVariables() | Time in milliseconds right after inclusion of the configuration. | No |
$PAGES_TYPES | typo3/sysext/core/ext_tables.php | See Page types | (occasionally) |
$TCA | Bootstrap::loadExtensionTables() | See TCA Reference | Yes, partly |
$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) |
$TBE_STYLES | typo3/sysext/core/ext_tables.php | Contains information related to BE skinning. (will be removed on CMS 9) | (occasionally) |
$T3_SERVICES | SystemEnvironmentBuilder::initializeGlobalVariables() | Global registration of services. | Yes |
$T3_VAR | SystemEnvironmentBuilder::initializeGlobalVariables() | Space for various internal global data storage in TYPO3. Each key in this array is a data space for an application. Keys currently defined for use is: [‘callUserFunction’] + [‘callUserFunction_classPool’]: Used by
[‘getUserObj’] : Used by [‘RTEobj’] : Used to hold the current RTE object if any. See
[‘ext’][ extension-key ] : Free space for extensions. |
Yes |
$BE_USER | Bootstrap::initializeBackendUser() | Backend user object. See Backend User Object. | (depends) |
$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) |
$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.

Viewing the $TCA
array using the Admin Tools > Configuration module