Deprecation: #100405 - Property TypoScriptFrontendController->type¶
See forge#100405
Description¶
The public property type
of the main class in TYPO3 frontend
\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController
has been
marked as internal, as it should not be used outside of this PHP class anymore
in the future.
This is part of the overall part to reduce dependencies on this PHP class, as it is not always available in TYPO3 frontend.
Impact¶
Accessing this property will trigger a PHP deprecation notice. Accessing this property might also happen via TypoScript and TypoScript conditions.
Affected installations¶
TYPO3 installations using this property on checking various typeNum settings from TypoScript.
Migration¶
When using this property in PHP code via $GLOBALS['TSFE']->type
, it is
recommended to move to the PSR-7 request via
$request->getAttribute('routing')->getPageType()
, which is the property
of the PageArguments
object, as a result of the GET
parameter
type
, or $GLOBALS['TSFE']->getPageArguments()->getPageType()
if
the request object is not available.
Within TypoScript, conditions and getData properties need to be adapted:
# Before
[getTSFE() && getTSFE().type == 13]
# After
[request.getPageArguments()?.getPageType() == 13]
In TypoScript getData attributes:
# Before
page.10.data = TSFE:type
# After
page.10.data = request:routing|pageType