Attention

TYPO3 v6 has reached its end-of-life April 18th, 2017 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.

There is no further ELTS support. It is strongly recommended updating your project.

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, \TYPO3\CMS\Core\Database\DatabaseConnection.

You have to use this object for all interaction with the database.

\TYPO3\CMS\Core\Database\DatabaseConnection contains MySQL wrapper functions so you easily swap all hardcoded MySQL calls with function calls to $GLOBALS['TYPO3_DB']->.

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

$CLIENT

SystemEnvironmentBuilder::initializeGlobalVariables()

Array with browser information (based on HTTP_USER_AGENT). Array keys:

"BROWSER" = msie,net,opera or blank,

"VERSION" = browser version as double,

"SYSTEM" = win,mac,unix

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.

(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 \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction to store singleton objects.

['getUserObj'] : Used by \TYPO3\CMS\Core\Utility\GeneralUtility::getUserObj to store singleton objects.

['RTEobj'] : Used to hold the current RTE object if any. See \TYPO3\CMS\Backend\Utility\BackendUtility.

['ext'][ extension-key ] : Free space for extensions.

Yes

$FILEICONS

typo3/sysext/core/ext_tables.php

Associative array; keys are the type (e.g. "tif") and values are the filename (without path).

(occasionally)

$WEBMOUNTS

Bootstrap::initializeBackendUserMounts()

Array of uid's to be mounted in the page-tree.

(depends)

$FILEMOUNTS

Bootstrap::initializeBackendUserMounts()

Array of filepaths on the server to be mounted in the directory tree.

(depends)

$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.

The Configuration module in Admin Tools

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