Global variables¶
Note
Variables in italics may be set in a script prior to
inclusion of init.php
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
Global variable | Defined in | Description | Avail. in FE |
---|---|---|---|
$TYPO3_CONF_VARS | typo3/sysext/core/Configuration/DefaultConfiguration.php |
TYPO3 configuration array. Please refer to mentioned file where each option is described in detail as comments. The same comments are also available in the Install Tool under the menu “All Configuration”. | Yes |
$TYPO3_LOADED_EXT | Bootstrap::populateTypo3LoadedExtGlobal() | 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, You have to use this object for all interaction with the database.
|
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 |
$TYPO3_AJAX | ajax.php | Set to true to indicate that an AJAX call is being processed | 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. | (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