Files
cms-core/Documentation/Changelog/15.0/Breaking-110027-StandardContentPreviewRendererStreamlined.rst
T

43 lines
1.4 KiB
ReStructuredText

.. include:: /Includes.rst.txt
.. _breaking-110027-1781042985:
==============================================================
Breaking: #110027 - StandardContentPreviewRenderer streamlined
==============================================================
See :issue:`110027`
Description
===========
:php:`\TYPO3\CMS\Backend\Preview\StandardContentPreviewRenderer` has been turned
into a stateless, dependency-injected service. It is now declared :php:`final`
and can no longer be subclassed. The lazy `initialize()` workaround that
resolved its dependencies through
:php:`\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance()` on first use has
been removed, and all dependencies are passed through the constructor instead.
Impact
======
Custom preview renderers extending
:php:`\TYPO3\CMS\Backend\Preview\StandardContentPreviewRenderer` raise a fatal
error, as the class is now :php:`final`.
Affected installations
======================
Instances with third-party extensions that subclass
:php:`StandardContentPreviewRenderer` or instantiate it manually.
Migration
=========
Instead of subclassing :php:`StandardContentPreviewRenderer`, implement
:php:`\TYPO3\CMS\Backend\Preview\PreviewRendererInterface` directly. The standard
renderer may be composed and its rendering methods delegated to where its output
is desired, as :php:`\TYPO3\CMS\Form\Preview\FormPagePreviewRenderer` demonstrates.
.. index:: Backend, PHP-API, NotScanned, ext:backend