TYPO3 v15 dev-main snapshot ()
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-88638:
|
||||
|
||||
=============================================================
|
||||
Breaking: #88638 - Streamlined SoftRefParser reference lookup
|
||||
=============================================================
|
||||
|
||||
See :issue:`88638`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Soft Reference Parser is a registry to allow to find parsers (PHP Objects),
|
||||
for a given Parser Type (images, internal links, email links) to keep track of
|
||||
referenced records within arbitrary data (e.g. RTE text-fields).
|
||||
|
||||
Parsers can be added or overridden via the hook registry
|
||||
:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['softRefParser'][$parserType]`.
|
||||
|
||||
Previously, the API method for fetching the proper parsers
|
||||
:php:`TYPO3\CMS\Backend\Utility\BackendUtility::softRefParserObj()` kept a runtime cache of created objects
|
||||
per type within a global PHP array (:php:`T3_VAR`). This allowed to create objects
|
||||
only once, even if there are multiple necessary parts required.
|
||||
|
||||
TYPO3's Core SoftRefParser does not keep any state, but the class now has a
|
||||
:php:`SingletonInterface`, which means that the object is now a re-used object
|
||||
as before.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the SoftRefParser factory method does not keep state of the parser
|
||||
objects via :php:`$GLOBALS['T3_VAR']['softRefParser']` anymore.
|
||||
|
||||
Instead, :php:`SingletonInterface` is recommended for re-using SoftRefParser objects
|
||||
if they need to keep state.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
TYPO3 installations with extensions that use the API with custom parsers,
|
||||
or the global variable directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the global variable access via the API call to :php:`TYPO3\CMS\Backend\Utility\BackendUtility`, if this
|
||||
is applicable.
|
||||
|
||||
If a custom parser is in use, it is recommended to evaluate whether it contains
|
||||
re-usable data and switch to :php:`SingletonInterface` instead.
|
||||
|
||||
.. index:: Backend, FullyScanned
|
||||
Reference in New Issue
Block a user