TYPO3 v15 dev-main snapshot ()
This commit is contained in:
+78
@@ -0,0 +1,78 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-107871-1761597102:
|
||||
|
||||
===================================================================================
|
||||
Breaking: #107871 - Remove backend avatar provider registration via :php:`$GLOBALS`
|
||||
===================================================================================
|
||||
|
||||
See :issue:`107871`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Registering backend avatar providers via
|
||||
:php:`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']`
|
||||
has been replaced by autoconfiguration using the :yaml:`backend.avatar_provider`
|
||||
service tag. This tag is added automatically when the PHP attribute
|
||||
:php:`#[AsAvatarProvider]` is applied. Manual configuration in
|
||||
:file:`Services.yaml` is still possible, particularly if autoconfiguration is
|
||||
disabled.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']`
|
||||
array has no effect in TYPO3 v14.0 and later.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations that use
|
||||
:php:`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']`
|
||||
to register backend avatar providers are affected. This registration is
|
||||
typically performed in an :file:`ext_localconf.php` file. The extension
|
||||
scanner will report any such usages.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Migrate existing registrations to the new autoconfiguration-based approach.
|
||||
|
||||
**Before:**
|
||||
|
||||
.. code-block:: php
|
||||
:caption: EXT:my_extension/ext_localconf.php
|
||||
|
||||
use MyVendor\MyExtension\Backend\Avatar\MyAvatarProvider;
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']
|
||||
['avatarProviders']['my_provider'] = [
|
||||
'provider' => MyAvatarProvider::class,
|
||||
'before' => ['provider-1'],
|
||||
'after' => ['provider-2'],
|
||||
];
|
||||
|
||||
**After:**
|
||||
|
||||
.. code-block:: php
|
||||
:caption: EXT:my_extension/Classes/Backend/Avatar/MyAvatarProvider.php
|
||||
|
||||
use TYPO3\CMS\Backend\Attribute\AsAvatarProvider;
|
||||
use TYPO3\CMS\Backend\Backend\Avatar\AvatarProviderInterface;
|
||||
|
||||
#[AsAvatarProvider(
|
||||
'my_provider',
|
||||
before: ['provider-1'],
|
||||
after: ['provider-2']
|
||||
)]
|
||||
final class MyAvatarProvider implements AvatarProviderInterface
|
||||
{
|
||||
// ...
|
||||
}
|
||||
|
||||
If you need to support multiple TYPO3 Core versions simultaneously, ensure that
|
||||
both registration methods are implemented: the legacy :php:`$GLOBALS` based
|
||||
registration as well as the new tag-based approach.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned, ext:backend
|
||||
Reference in New Issue
Block a user