TYPO3 v15 dev-main snapshot ()
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-89718:
|
||||
|
||||
==============================================================
|
||||
Deprecation: #89718 - Legacy PageTSconfig parsing lowlevel API
|
||||
==============================================================
|
||||
|
||||
See :issue:`89718`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Two new PHP API classes for retrieving and parsing TsConfig are
|
||||
introduced:
|
||||
|
||||
- :php:`TYPO3\CMS\Core\Configuration\Loader\PageTsConfigLoader`
|
||||
- :php:`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:
|
||||
|
||||
- :php:`TYPO3\CMS\Core\Configuration\TsConfigParser`
|
||||
- :php:`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:
|
||||
|
||||
- :php:`TYPO3\CMS\Core\Configuration\Loader\PageTsConfigLoader`
|
||||
- :php:`TYPO3\CMS\Core\Configuration\Parser\PageTsConfigParser`
|
||||
|
||||
Usages for fetching all available PageTS of a page/rootline in one large string:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$loader = GeneralUtility::makeInstance(PageTsConfigLoader::class);
|
||||
$tsConfigString = $loader->load($rootLine);
|
||||
|
||||
|
||||
The string is parsed (and conditions are applied) with the Parser:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$parser = GeneralUtility::makeInstance(
|
||||
PageTsConfigParser::class,
|
||||
$typoScriptParser,
|
||||
$hashCache
|
||||
);
|
||||
$pagesTSconfig = $parser->parse(
|
||||
$tsConfigString,
|
||||
$conditionMatcher
|
||||
);
|
||||
|
||||
Extension developers should rely on this syntax rather than
|
||||
on :php:`$GLOBALS['TSFE']->getPagesTSconfig()` or :php:`BackendUtility::getPagesTsConfig()`, or the deprecated method / class.
|
||||
|
||||
.. index:: PHP-API, TSConfig, FullyScanned, ext:core
|
||||
Reference in New Issue
Block a user