TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-107831-1761307521:
|
||||
|
||||
==========================================================
|
||||
Breaking: #107831 - Removed `TypoScriptFrontendController`
|
||||
==========================================================
|
||||
|
||||
See :issue:`107831`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
All remaining properties have been removed from
|
||||
:php:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController`, making the
|
||||
class a readonly internal service used by the TYPO3 Core only.
|
||||
|
||||
The class will be fully removed in a later TYPO3 v14 release.
|
||||
|
||||
The following instance access patterns have been removed:
|
||||
|
||||
* `$GLOBALS['TSFE']`
|
||||
* `$request->getAttribute('frontend.controller')`
|
||||
* `$contentObjectRenderer->getTypoScriptFrontendController()`
|
||||
|
||||
All API methods that returned an instance of
|
||||
:php-short:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` -
|
||||
usually named :php:`getTypoScriptFrontendController()` or similar - have been
|
||||
removed as well.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any remaining direct or indirect usage of
|
||||
:php-short:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` will
|
||||
now result in a fatal PHP error.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Extensions that still relied on properties or methods of
|
||||
:php-short:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` are
|
||||
affected.
|
||||
|
||||
The class was already marked *internal* and *breaking* in TYPO3 v13.
|
||||
|
||||
In particular, extensions that used
|
||||
:php:`AbstractContentObject->getTypoScriptFrontendController()` can now access
|
||||
the relevant data from the PSR-7 request object, for example:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$pageInformation = $request->getAttribute('frontend.page.information');
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
See :ref:`breaking-102621-1701937690` for a detailed list of removed properties
|
||||
and their replacements.
|
||||
|
||||
As a specific example, old code that added additional header data like this:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$frontendController = $request->getAttribute('frontend.controller');
|
||||
$frontendController->additionalHeaderData[] = $myAdditionalHeaderData;
|
||||
|
||||
should now use:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
use TYPO3\CMS\Core\Page\PageRenderer;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
$pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
|
||||
$pageRenderer->addHeaderData($myAdditionalHeaderData);
|
||||
|
||||
The same approach applies to :php:`additionalFooterData`.
|
||||
|
||||
.. index:: Frontend, NotScanned, ext:frontend
|
||||
Reference in New Issue
Block a user