Files
cms-core/Documentation/Changelog/9.5/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst

52 lines
1.6 KiB
ReStructuredText

.. include:: /Includes.rst.txt
.. _deprecation-86270:
==============================================================================
Deprecation: #86270 - config.tx_extbase.objects and plugin.tx_%plugin%.objects
==============================================================================
See :issue:`86270`
Description
===========
The :typoscript:`config.tx_extbase.objects` and :typoscript:`plugin.tx_%plugin%.objects` configuration options
have been marked as deprecated.
Impact
======
Configuring class overrides using :typoscript:`config.tx_extbase.objects` or :typoscript:`plugin.tx_%plugin%.objects`
will trigger a PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
======================
All installations that make use of the TypoScript :typoscript:`config.tx_extbase.objects` or :typoscript:`plugin.tx_%plugin%.objects`
configuration options are affected.
Migration
=========
Use XCLASSes configured in :file:`ext_localconf.php` using
:php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']`.
Register implementations in the Extbase object container instead if you need to override classes
that are processed by the :php:`PropertyMapper` like domain models or if you rely on additional
injections:
.. code-block:: php
GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class)
->registerImplementation(Base::class, Override::class);
If you conditionally configured :typoscript:`config.tx_extbase.objects` or
:typoscript:`plugin.tx_%plugin%.objects`, then move that conditional logic into the
overriding class itself.
.. index:: TypoScript, NotScanned, ext:extbase