Feature: #15 - TYPO3 v14 support 

Description 

The extension supports TYPO3 v14 next to TYPO3 v13. The TYPO3 core-version specific implementations for TYPO3 v14 are shipped in the FGTCLBEnvironmentStateManagerCore14 namespace and selected automatically through dependency injection, mirroring the existing TYPO3 v13 implementation.

TYPO3 v14 removed the TypoScriptFrontendController (class, the $GLOBALS['TSFE'] global and the frontend.controller request attribute). It was the only TYPO3 core-version specific state this extension carried on the Core13ExtendedStateInterface. TYPO3 v14 therefore has no extended state interface: Core14State implements the version-agnostic StateInterface directly.

The frontend environment builder reproduces on TYPO3 v14 what the TypoScriptFrontendController bootstrap did on TYPO3 v13:

  • the PageRenderer language is initialized as the PrepareTypoScriptFrontendRendering middleware does,
  • the ContentObjectRenderer is created and started without the removed TypoScriptFrontendController constructor argument, as the frontend request handler does.

TYPO3 v14 added ApplicationType::INSTALL. The EnvironmentBuilderFactory builds frontend and backend environments only and throws the new UnsupportedApplicationType exception for any other application type.

Impact 

The extension can be installed on TYPO3 v14. Code that needs the TYPO3 v13 TypoScriptFrontendController state must continue to narrow to Core13ExtendedStateInterface, which is only available on TYPO3 v13, as documented.