Breaking: #107831 - Removed TypoScriptFrontendController 

See forge#107831

Description 

All remaining properties have been removed from TypoScriptFrontendController, making the class a readonly service, used TYPO3 core internally only. The class will vanish during further TYPO3 v14 development.

The following instance access patterns have been removed:

$GLOBALS['TSFE']
$request->getAttribute('frontend.controller')
AbstractContentObject->getTypoScriptFrontendController()
Copied!

All API methods that returned an instance of TypoScriptFrontendController, usually called getTypoScriptFrontendController or similar.

Impact 

Remaining direct and indirect usages of TypoScriptFrontendController will fail.

Affected installations 

Some extensions may still have used details of TypoScriptFrontendController directly, even though the class has been marked breaking and internal with TYPO3 v13 already.

In particular, extensions that utilized AbstractContentObject->getTypoScriptFrontendController() can now access relevant parts from the request object, e.g. $request->getAttribute('frontend.page.information').

Migration 

See Breaking: #102621 - Most TSFE members marked internal or read-only for a list of old properties and their substitutions.

One last and not yet mentioned detail, old code:

$request->getAttribute('frontend.controller')->additionalHeaderData[] = $myAdditionalHeaderData;
Copied!

New code:

GeneralUtility::makeInstance(PageRenderer::class)->addHeaderData($myAdditionalHeaderData);
Copied!

The same strategy can be used for additionalFooterData.