TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-107871-1761597106:
|
||||
|
||||
=========================================================
|
||||
Feature: #107871 - Autoconfigure backend avatar providers
|
||||
=========================================================
|
||||
|
||||
See :issue:`107871`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Backend avatar providers must either use the PHP attribute
|
||||
:php:`#[AsAvatarProvider]` or be manually tagged in the service container with
|
||||
:yaml:`backend.avatar_provider`.
|
||||
|
||||
When autoconfiguration is enabled in :file:`Services.yaml` or
|
||||
:file:`Services.php`, applying :php:`#[AsAvatarProvider]` will automatically add
|
||||
the :yaml:`backend.avatar_provider` tag. Otherwise, the tag must be configured
|
||||
manually.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
.. 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
|
||||
{
|
||||
// ...
|
||||
}
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Backend avatar providers are now automatically registered using the PHP
|
||||
attribute :php:`#[AsAvatarProvider]`. This improves the developer experience and
|
||||
reduces configuration overhead. The previous registration method via
|
||||
:php:`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']` can
|
||||
no longer be used.
|
||||
|
||||
To support multiple TYPO3 Core versions simultaneously, extensions may still
|
||||
implement the legacy array-based registration alongside the new
|
||||
autoconfiguration-based approach.
|
||||
|
||||
.. index:: Backend, PHP-API, ext:backend
|
||||
Reference in New Issue
Block a user