Deprecation: #89718 - Legacy PageTSconfig parsing lowlevel API

See Issue #89718

Description

Two new PHP API classes for retrieving and parsing TsConfig are introduced:

  • TYPO3\CMS\Core\Configuration\Loader\PageTsConfigLoader
  • TYPO3\CMS\Core\Configuration\Parser\PageTsConfigParser

As this API is more consistent, and flexible, as well as agnostic of the current Context of backend or frontend, the following functionality has been marked as deprecated:

  • TYPO3\CMS\Core\Configuration\TsConfigParser
  • TYPO3\CMS\Backend\Utility\BackendUtility::getRawPagesTSconfig()

Impact

Instantiating the PHP class or the mentioned PHP method will trigger a deprecation message.

Affected Installations

TYPO3 Installations with extensions using the lowlevel API for handling PageTSconfig.

Migration

Loading and parsing PageTSconfig on a low-level should be done via the new PHP classes:

  • TYPO3\CMS\Core\Configuration\Loader\PageTsConfigLoader
  • TYPO3\CMS\Core\Configuration\Parser\PageTsConfigParser

Usages for fetching all available PageTS of a page/rootline in one large string:

php:$loader = GeneralUtility::makeInstance(PageTsConfigLoader::class); $tsConfigString = $loader->load($rootLine);

The string is parsed (and conditions are applied) with the Parser:

php:
$parser = GeneralUtility::makeInstance(

PageTsConfigParser::class, $typoScriptParser, $hashCache

); $pagesTSconfig = $parser->parse(

$tsConfigString, $conditionMatcher

);

Extension developers should rely on this syntax rather than on $GLOBALS['TSFE']->getPagesTSconfig() or BackendUtility::getPagesTsConfig(), or the deprecated method / class.