Bootstrap
This class encapsulates bootstrap related methods.
It is required directly as the very first thing in entry scripts and used to define all base things like constants and paths and so on.
Most methods in this class have dependencies to each other. They can not be called in arbitrary order. The methods are ordered top down, so a method at the beginning has lower dependencies than a method further down. Do not fiddle with the load order in own scripts except you know exactly what you are doing!
Table of Contents
Methods
- baseSetup() : mixed
- Run the base setup that checks server environment, determines paths, populates base files and sets common configuration.
- checkIfEssentialConfigurationExists() : bool
- checks if LocalConfiguration.php or PackageStates.php is missing, used to see if a redirect to the install tool is needed
- createCache() : FrontendInterface
- Instantiates an early cache instance
- createConfigurationManager() : ConfigurationManager
- We need an early instance of the configuration manager.
- createPackageCache() : PackageCacheInterface
- createPackageManager() : PackageManager
- Initializes the package system and loads the package configuration and settings provided by the packages.
- init() : ContainerInterface
- Bootstrap TYPO3 and return a Container that may be used to initialize an Application class.
- initializeBackendAuthentication() : mixed
- Initializes and ensures authenticated access
- initializeBackendUser() : mixed
- Initialize backend user object in globals
- initializeClassLoader() : mixed
- Sets the class loader to the bootstrap
- initializeLanguageObject() : mixed
- Initialize language object
- loadBaseTca() : mixed
- Load $TCA
- loadExtTables() : mixed
- Load ext_tables and friends.
- loadTypo3LoadedExtAndExtLocalconf() : mixed
- Load ext_localconf of extensions
- startOutputBuffering() : mixed
- Prevent any unwanted output that may corrupt AJAX/compression.
- unsetReservedGlobalVariables() : mixed
- Unsetting reserved global variables: Those are set in "ext:core/ext_tables.php" file:
- checkEncryptionKey() : mixed
- Check if a configuration key has been configured
- initializeErrorHandling() : mixed
- Configure and set up exception and error handling
- initializeIO() : mixed
- Initializes IO and stream wrapper related behavior.
- populateLocalConfiguration() : mixed
- We need an early instance of the configuration manager.
- runExtTablesPostProcessingHooks() : mixed
- Check for registered ext tables hooks and run them
- setDefaultTimezone() : mixed
- Set default timezone
- setMemoryLimit() : mixed
- Set PHP memory limit depending on value of $GLOBALS['TYPO3_CONF_VARS']['SYS']['setMemoryLimit']
Methods
baseSetup()
Run the base setup that checks server environment, determines paths, populates base files and sets common configuration.
public
static baseSetup() : mixed
Script execution will be aborted if something fails here.
This is not a public API method, do not use in own extensions
Tags
checkIfEssentialConfigurationExists()
checks if LocalConfiguration.php or PackageStates.php is missing, used to see if a redirect to the install tool is needed
public
static checkIfEssentialConfigurationExists(ConfigurationManager $configurationManager) : bool
Parameters
- $configurationManager : ConfigurationManager
This is not a public API method, do not use in own extensions
Return values
bool —TRUE when the essential configuration is available, otherwise FALSE
createCache()
Instantiates an early cache instance
public
static createCache(string $identifier[, bool $disableCaching = false ]) : FrontendInterface
Creates a cache instances independently from the CacheManager. The is used to create the core cache during early bootstrap when the CacheManager is not yet available (i.e. configuration is not yet loaded).
Parameters
- $identifier : string
- $disableCaching : bool = false
Return values
FrontendInterfacecreateConfigurationManager()
We need an early instance of the configuration manager.
public
static createConfigurationManager() : ConfigurationManager
Since makeInstance relies on the object configuration, we create it here with new instead.
Return values
ConfigurationManagercreatePackageCache()
public
static createPackageCache(FrontendInterface $coreCache) : PackageCacheInterface
Parameters
- $coreCache : FrontendInterface
Return values
PackageCacheInterfacecreatePackageManager()
Initializes the package system and loads the package configuration and settings provided by the packages.
public
static createPackageManager(string $packageManagerClassName, PackageCacheInterface $packageCache) : PackageManager
Parameters
- $packageManagerClassName : string
-
Define an alternative package manager implementation (usually for the installer)
- $packageCache : PackageCacheInterface
This is not a public API method, do not use in own extensions
Return values
PackageManagerinit()
Bootstrap TYPO3 and return a Container that may be used to initialize an Application class.
public
static init(ClassLoader $classLoader[, bool $failsafe = false ]) : ContainerInterface
Parameters
- $classLoader : ClassLoader
-
an instance of the class loader
- $failsafe : bool = false
-
true if no caching and a failsafe package manager should be used
Return values
ContainerInterfaceinitializeBackendAuthentication()
Initializes and ensures authenticated access
public
static initializeBackendAuthentication([bool $proceedIfNoUserIsLoggedIn = false ]) : mixed
Parameters
- $proceedIfNoUserIsLoggedIn : bool = false
-
if set to TRUE, no forced redirect to the login page will be done
This is not a public API method, do not use in own extensions
initializeBackendUser()
Initialize backend user object in globals
public
static initializeBackendUser([string $className = BackendUserAuthentication::class ][, ServerRequestInterface|null $request = null ]) : mixed
Parameters
- $className : string = BackendUserAuthentication::class
-
usually \TYPO3\CMS\Core\Authentication\BackendUserAuthentication::class but can be used for CLI
- $request : ServerRequestInterface|null = null
This is not a public API method, do not use in own extensions
initializeClassLoader()
Sets the class loader to the bootstrap
public
static initializeClassLoader(ClassLoader $classLoader) : mixed
Parameters
- $classLoader : ClassLoader
-
an instance of the class loader
This is not a public API method, do not use in own extensions
initializeLanguageObject()
Initialize language object
public
static initializeLanguageObject() : mixed
This is not a public API method, do not use in own extensions
loadBaseTca()
Load $TCA
public
static loadBaseTca([bool $allowCaching = true ][, FrontendInterface|null $coreCache = null ]) : mixed
This will mainly set up $TCA through extMgm API.
Parameters
- $allowCaching : bool = true
-
True, if loading TCA from cache is allowed
- $coreCache : FrontendInterface|null = null
This is not a public API method, do not use in own extensions
loadExtTables()
Load ext_tables and friends.
public
static loadExtTables([bool $allowCaching = true ][, FrontendInterface|null $coreCache = null ]) : mixed
This will mainly load and execute ext_tables.php files of loaded extensions or the according cache file if exists.
Parameters
- $allowCaching : bool = true
-
True, if reading compiled ext_tables file from cache is allowed
- $coreCache : FrontendInterface|null = null
This is not a public API method, do not use in own extensions
loadTypo3LoadedExtAndExtLocalconf()
Load ext_localconf of extensions
public
static loadTypo3LoadedExtAndExtLocalconf([bool $allowCaching = true ][, FrontendInterface|null $coreCache = null ]) : mixed
Parameters
- $allowCaching : bool = true
- $coreCache : FrontendInterface|null = null
This is not a public API method, do not use in own extensions
startOutputBuffering()
Prevent any unwanted output that may corrupt AJAX/compression.
public
static startOutputBuffering() : mixed
This does not interfere with "die()" or "echo"+"exit()" messages!
This is not a public API method, do not use in own extensions
unsetReservedGlobalVariables()
Unsetting reserved global variables: Those are set in "ext:core/ext_tables.php" file:
public
static unsetReservedGlobalVariables() : mixed
This is not a public API method, do not use in own extensions
checkEncryptionKey()
Check if a configuration key has been configured
protected
static checkEncryptionKey() : mixed
initializeErrorHandling()
Configure and set up exception and error handling
protected
static initializeErrorHandling() : mixed
Tags
initializeIO()
Initializes IO and stream wrapper related behavior.
protected
static initializeIO() : mixed
populateLocalConfiguration()
We need an early instance of the configuration manager.
protected
static populateLocalConfiguration(ConfigurationManager $configurationManager) : mixed
Since makeInstance relies on the object configuration, we create it here with new instead.
Parameters
- $configurationManager : ConfigurationManager
This is not a public API method, do not use in own extensions
runExtTablesPostProcessingHooks()
Check for registered ext tables hooks and run them
protected
static runExtTablesPostProcessingHooks() : mixed
will be removed in TYPO3 v12.0, use the PSR-14 based BootCompletedEvent instead.
Tags
setDefaultTimezone()
Set default timezone
protected
static setDefaultTimezone() : mixed
setMemoryLimit()
Set PHP memory limit depending on value of $GLOBALS['TYPO3_CONF_VARS']['SYS']['setMemoryLimit']
protected
static setMemoryLimit() : mixed