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 |
| $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 |
| $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
['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