118 lines
4.6 KiB
ReStructuredText
118 lines
4.6 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _breaking-108055-1762951248:
|
|
|
|
==================================================================
|
|
Breaking: #108055 - Removed PageRenderer related hooks and methods
|
|
==================================================================
|
|
|
|
See :issue:`108055`
|
|
|
|
Description
|
|
===========
|
|
|
|
The removal of frontend asset concatenation and compression as described in
|
|
:ref:`breaking-108055-1762346705` has some impact on the PHP API as well,
|
|
mainly due to removed code.
|
|
|
|
The following methods have been removed from the class
|
|
:php-short:`\TYPO3\CMS\Core\Page\PageRenderer`:
|
|
|
|
* :php:`disableConcatenateCss()`
|
|
* :php:`enableConcatenateCss()`
|
|
* :php:`getConcatenateCss()`
|
|
* :php:`disableCompressCss()`
|
|
* :php:`enableCompressCss()`
|
|
* :php:`getCompressCss()`
|
|
* :php:`disableConcatenateJavascript()`
|
|
* :php:`enableConcatenateJavascript()`
|
|
* :php:`getConcatenateJavascript()`
|
|
* :php:`disableCompressJavascript()`
|
|
* :php:`enableCompressJavascript()`
|
|
* :php:`getCompressJavascript()`
|
|
|
|
The following global configuration registry points have been removed:
|
|
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['cssConcatenateHandler']`
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['cssCompressHandler']`
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['jsConcatenateHandler']`
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['jsCompressHandler']`
|
|
|
|
The following hook has been removed:
|
|
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_div.php']['minifyJavaScript']`
|
|
|
|
The following methods of :php-short:`\TYPO3\CMS\Core\Page\PageRenderer` changed
|
|
their signature. The noted arguments are now unused:
|
|
|
|
* :php:`addJsInlineCode()`: third argument unused
|
|
* :php:`addCssInlineBlock()`: third argument unused
|
|
* :php:`addJsFile()`: third and sixth argument unused
|
|
* :php:`addJsFooterInlineCode()`: third argument unused
|
|
* :php:`addJsFooterFile()`: third and sixth argument unused
|
|
* :php:`addJsLibrary()`: fourth and seventh argument unused
|
|
* :php:`addJsFooterLibrary()`: fourth and seventh argument unused
|
|
* :php:`addCssFile()`: fifth and eighth argument unused
|
|
* :php:`addCssLibrary()`: fifth and eighth argument unused
|
|
|
|
Additionally, registered hooks for:
|
|
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess']`
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-postTransform']`
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-postProcess']`
|
|
|
|
no longer receive the array keys :php:`compress` or
|
|
:php:`excludeFromConcatenation` inside the following data array keys:
|
|
|
|
* :php:`jsFiles`
|
|
* :php:`jsInline`
|
|
* :php:`jsLibs`
|
|
* :php:`cssFiles`
|
|
* :php:`cssInline`
|
|
* :php:`cssLibs`
|
|
|
|
Impact
|
|
======
|
|
|
|
Calling any of the removed methods listed above will raise PHP fatal errors.
|
|
Registrations for removed hooks are no longer executed. Submitting ignored
|
|
arguments has no effect anymore, and hook consumers receive slightly different
|
|
data from the TYPO3 Core due to removed TypoScript configuration values.
|
|
|
|
Affected installations
|
|
======================
|
|
|
|
Instances with extensions dealing with low level asset manipulation may be
|
|
affected. The extension scanner will find affected extensions when they call
|
|
removed methods or hooks.
|
|
|
|
Migration
|
|
=========
|
|
|
|
There is no direct one-to-one migration in this case.
|
|
|
|
In general, extensions must no longer expect the existence of code related to
|
|
the TypoScript configuration options :typoscript:`config.compressCss`,
|
|
:typoscript:`config.compressJs`, :typoscript:`config.concatenateCss`,
|
|
:typoscript:`config.concatenateJs`, and the :typoscript:`resource` properties
|
|
:typoscript:`disableCompression` and :typoscript:`excludeFromConcatenation`.
|
|
|
|
The removed hooks and "handlers" can be turned into listeners of:
|
|
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess']`
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-postTransform']`
|
|
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-postProcess']`
|
|
|
|
depending on their needs.
|
|
|
|
Existing hook registrations of these three should check whether the
|
|
implementations access the array keys :php:`compress` and
|
|
:php:`excludeFromConcatenation` and avoid doing so. If required, affected code
|
|
may need to determine TypoScript options from the :php:`$GLOBALS['TYPO3_REQUEST']`
|
|
request attribute :php:`frontend.typoscript` directly.
|
|
|
|
Another alternative is to avoid hook usage altogether by turning the
|
|
implementations into PSR-15 middlewares instead.
|
|
|
|
.. index:: PHP-API, PartiallyScanned, ext:core
|