Attention

TYPO3 v8 has reached its end-of-life March 31st, 2020 and is not maintained by the community anymore.

You can order Extended Long Term Support (ELTS) here: TYPO3 ELTS.

Constants

Constants normally define paths and database information. These values are global and cannot be changed when they are first defined. This is why constants are used for such vital information.

These constants are defined at various points during the bootstrap sequence.

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

Table 1: Traditional List

Constant

Defined in

Description

Avail. in FE

TYPO3_MODE

TYPO3\CMS\Backend\Console\Application::defineLegacyConstants() TYPO3\CMS\Backend\Http\Application::defineLegacyConstants() TYPO3\CMS\Core\Console\CommandApplication::defineLegacyConstants() TYPO3\CMS\Frontend\Http\Application::defineLegacyConstants() TYPO3\CMS\Install\Http\Application::defineLegacyConstants()

Mode of TYPO3: Set to either "FE" or "BE" depending on frontend or backend execution and context.

Yes

value = "FE"

TYPO3_OS

SystemEnvironmentBuilder::defineBaseConstants()

Operating systen; Windows = "WIN", other = "" (presumed to be some sort of Unix)

Yes

PATH_thisScript

SystemEnvironmentBuilder::definePaths()

Abs. path to current script.

Yes

TYPO3_mainDir

SystemEnvironmentBuilder::definePaths()

This is the directory of the backend administration for the sites of this TYPO3 installation. Hardcoded to typo3/. Must be a subdirectory to the website. See elsewhere for descriptions on how to change the default admin directory, typo3/, to something else.

Yes

PATH_typo3

SystemEnvironmentBuilder::definePaths()

Abs. path of the TYPO3 admin dir (PATH_site + TYPO3_mainDir).

No

PATH_site

SystemEnvironmentBuilder::definePaths()

Absolute path to directory with the frontend (one directory above PATH_typo3)

Yes

PATH_typo3conf

SystemEnvironmentBuilder::definePaths()

Absolute TYPO3 configuration path (local, not part of source).

Yes

TYPO3_DLOG

Bootstrap::defineLoggingAndExceptionConstants()

If true, calls to \TYPO3\CMS\Core\Utility\GeneralUtility::devLog() can be made in both frontend and backend; This is event logging which can help to track debugging in general.

Yes

TYPO3_version

SystemEnvironmentBuilder::defineBaseConstants()

The TYPO3 version, as a "x.y.z" number. Development versions will be either "x.y.z-dev" for stable versions or "x.y-dev" for the current master.

Yes

TYPO3_branch

SystemEnvironmentBuilder::defineBaseConstants()

The TYPO3 version Branch, as a "x.y" number. Without the patch level.

Yes

Table 2: Base Constants

Check TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::defineBaseConstants for updates.

String constants

Constant

Value

Description

NUL

chr(0)

A null

TAB

chr(9)

A tabulator

LF

chr(10)

A linefeed

CR

chr(13)

A carriage return

SUB

chr(26)

A sub (substitute) character

CRLF

CR + LF

Carriage return + linefeed pair

Operating system identifier

Constant

Value

Description

TYPO3_OS

self::getTypo3Os())

Either "WIN" or empty string

Service error constants

Constant

Value

Description

T3_ERR_SV_GENERAL

-1

General error - something went wrong

T3_ERR_SV_NOT_AVAIL

-2

During execution it showed that the service is not available and should be ignored. The service itself should call $this->setNonAvailable()

T3_ERR_SV_WRONG_SUBTYPE

-3

Passed subtype is not possible with this service

T3_ERR_SV_NO_INPUT

-4

Passed subtype is not possible with this service

T3_ERR_SV_FILE_NOT_FOUND

-20

File not found which the service should process

T3_ERR_SV_FILE_READ

-21

File not readable

T3_ERR_SV_FILE_WRITE

-22

File not writable

T3_ERR_SV_PROG_NOT_FOUND

-40

Passed subtype is not possible with this service

T3_ERR_SV_PROG_FAILED

-41

Passed subtype is not possible with this service