diff --git a/typo3/sysext/adminpanel/Classes/Controller/AjaxController.php b/typo3/sysext/adminpanel/Classes/Controller/AjaxController.php index 6009e39602ecc681661f4f496bb493c43405c014..a4ab7554d161db2c3a4c9d1a39a354be7ce55de7 100644 --- a/typo3/sysext/adminpanel/Classes/Controller/AjaxController.php +++ b/typo3/sysext/adminpanel/Classes/Controller/AjaxController.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Controller; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\Service\ConfigurationService; use TYPO3\CMS\Adminpanel\Service\ModuleLoader; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; @@ -28,6 +29,7 @@ use TYPO3\CMS\Core\Http\JsonResponse; * * @internal */ +#[Autoconfigure(public: true)] class AjaxController { protected array $adminPanelModuleConfiguration; diff --git a/typo3/sysext/adminpanel/Classes/Controller/MainController.php b/typo3/sysext/adminpanel/Classes/Controller/MainController.php index 79d87919181b3977920ba9d0876af1b11300e3c2..7ac24c2d52dabe48c9b72daf321d09447282a00f 100644 --- a/typo3/sysext/adminpanel/Classes/Controller/MainController.php +++ b/typo3/sysext/adminpanel/Classes/Controller/MainController.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Controller; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\ModuleApi\ConfigurableInterface; use TYPO3\CMS\Adminpanel\ModuleApi\DataProviderInterface; use TYPO3\CMS\Adminpanel\ModuleApi\ModuleDataStorageCollection; @@ -45,6 +46,7 @@ use TYPO3\CMS\Fluid\View\StandaloneView; * * @internal */ +#[Autoconfigure(public: true)] class MainController { /** @var array<string, ModuleInterface> */ diff --git a/typo3/sysext/adminpanel/Classes/Modules/CacheModule.php b/typo3/sysext/adminpanel/Classes/Modules/CacheModule.php index 5163f340b4afc1b4b86f59be7e4832af08b9282a..9e7356fc3ca8275c5908b174c2f8e19d4c319e9a 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/CacheModule.php +++ b/typo3/sysext/adminpanel/Classes/Modules/CacheModule.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Modules; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractModule; use TYPO3\CMS\Adminpanel\ModuleApi\PageSettingsProviderInterface; use TYPO3\CMS\Adminpanel\ModuleApi\RequestEnricherInterface; @@ -28,6 +29,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Fluid\View\StandaloneView; use TYPO3\CMS\Frontend\Cache\CacheInstruction; +#[Autoconfigure(public: true)] class CacheModule extends AbstractModule implements PageSettingsProviderInterface, RequestEnricherInterface, ResourceProviderInterface { public function getIconIdentifier(): string diff --git a/typo3/sysext/adminpanel/Classes/Modules/Debug/Events.php b/typo3/sysext/adminpanel/Classes/Modules/Debug/Events.php index e64147405caf365765d68742962a88b8e0bfcc12..0b88b4e0864e0d2c7a45d206c2149d4021ff28a3 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/Debug/Events.php +++ b/typo3/sysext/adminpanel/Classes/Modules/Debug/Events.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Adminpanel\Modules\Debug; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\VarDumper\Cloner\Data; use Symfony\Component\VarDumper\Cloner\VarCloner; use Symfony\Component\VarDumper\Dumper\AbstractDumper; @@ -33,6 +34,7 @@ use TYPO3\CMS\Fluid\View\StandaloneView; /** * Shows all dispatched Events of the current request */ +#[Autoconfigure(public: true)] class Events extends AbstractSubModule implements DataProviderInterface { public function __construct(private readonly RequestId $requestId) {} diff --git a/typo3/sysext/adminpanel/Classes/Modules/Debug/Log.php b/typo3/sysext/adminpanel/Classes/Modules/Debug/Log.php index 7ea1f9f441b776459e939df7565fde5c2d08c0d5..05fede950d9768dd8e1fb80bf464b8fae3d76f8f 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/Debug/Log.php +++ b/typo3/sysext/adminpanel/Classes/Modules/Debug/Log.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Modules\Debug; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\Log\InMemoryLogWriter; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractSubModule; use TYPO3\CMS\Adminpanel\ModuleApi\DataProviderInterface; @@ -34,6 +35,7 @@ use TYPO3\CMS\Fluid\View\StandaloneView; * * @internal */ +#[Autoconfigure(public: true)] class Log extends AbstractSubModule implements DataProviderInterface, ModuleSettingsProviderInterface, RequestEnricherInterface { protected int $logLevel; diff --git a/typo3/sysext/adminpanel/Classes/Modules/DebugModule.php b/typo3/sysext/adminpanel/Classes/Modules/DebugModule.php index 6ff578f52171094a5f9684a00b63eaf9b9c14f42..719ac0fb4b43becfd38c1de2d02830039c02c953 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/DebugModule.php +++ b/typo3/sysext/adminpanel/Classes/Modules/DebugModule.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Modules; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\Log\InMemoryLogWriter; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractModule; use TYPO3\CMS\Adminpanel\ModuleApi\ShortInfoProviderInterface; @@ -27,6 +28,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; /** * Debug Module of the AdminPanel */ +#[Autoconfigure(public: true)] class DebugModule extends AbstractModule implements ShortInfoProviderInterface { public function getIdentifier(): string diff --git a/typo3/sysext/adminpanel/Classes/Modules/Info/GeneralInformation.php b/typo3/sysext/adminpanel/Classes/Modules/Info/GeneralInformation.php index 884ccb1106e7120fe43747c3abcf2f62040ad085..69b6d0e5691c8f3e85ae3b2d935ae1aadbfabda0 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/Info/GeneralInformation.php +++ b/typo3/sysext/adminpanel/Classes/Modules/Info/GeneralInformation.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Modules\Info; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractSubModule; use TYPO3\CMS\Adminpanel\ModuleApi\DataProviderInterface; use TYPO3\CMS\Adminpanel\ModuleApi\ModuleData; @@ -33,6 +34,7 @@ use TYPO3\CMS\Fluid\View\StandaloneView; * * @internal */ +#[Autoconfigure(public: true)] class GeneralInformation extends AbstractSubModule implements DataProviderInterface { public function __construct( diff --git a/typo3/sysext/adminpanel/Classes/Modules/InfoModule.php b/typo3/sysext/adminpanel/Classes/Modules/InfoModule.php index 645460f202ed4cabc9b51fa621264ff545899cc0..d04080e6bc9fd45465a4c9cdea172975b2fb3d51 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/InfoModule.php +++ b/typo3/sysext/adminpanel/Classes/Modules/InfoModule.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Modules; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractModule; use TYPO3\CMS\Adminpanel\ModuleApi\ShortInfoProviderInterface; use TYPO3\CMS\Core\TimeTracker\TimeTracker; @@ -25,6 +26,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; /** * Admin Panel Info Module */ +#[Autoconfigure(public: true)] class InfoModule extends AbstractModule implements ShortInfoProviderInterface { public function getIconIdentifier(): string diff --git a/typo3/sysext/adminpanel/Classes/Modules/PreviewModule.php b/typo3/sysext/adminpanel/Classes/Modules/PreviewModule.php index dd9c68d367b33a91bce7deef2ccba2e541f290c0..2a86901dfbd3a7984c7776bbc57fdc238730c3f7 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/PreviewModule.php +++ b/typo3/sysext/adminpanel/Classes/Modules/PreviewModule.php @@ -20,6 +20,7 @@ namespace TYPO3\CMS\Adminpanel\Modules; use Psr\Http\Message\ServerRequestInterface; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractModule; use TYPO3\CMS\Adminpanel\ModuleApi\OnSubmitActorInterface; use TYPO3\CMS\Adminpanel\ModuleApi\PageSettingsProviderInterface; @@ -42,6 +43,7 @@ use TYPO3\CMS\Frontend\Cache\CacheInstruction; /** * Admin Panel Preview Module */ +#[Autoconfigure(public: true)] class PreviewModule extends AbstractModule implements RequestEnricherInterface, PageSettingsProviderInterface, ResourceProviderInterface, OnSubmitActorInterface, LoggerAwareInterface { use LoggerAwareTrait; diff --git a/typo3/sysext/adminpanel/Classes/Modules/TsDebug/TypoScriptWaterfall.php b/typo3/sysext/adminpanel/Classes/Modules/TsDebug/TypoScriptWaterfall.php index ddbc1b9394b0a669e27c3f47ae36c194c7a8870e..4864dca98b0caa49a3294d76e2bae459127da22d 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/TsDebug/TypoScriptWaterfall.php +++ b/typo3/sysext/adminpanel/Classes/Modules/TsDebug/TypoScriptWaterfall.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Modules\TsDebug; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractSubModule; use TYPO3\CMS\Adminpanel\ModuleApi\ModuleData; use TYPO3\CMS\Adminpanel\ModuleApi\ModuleSettingsProviderInterface; @@ -32,6 +33,7 @@ use TYPO3\CMS\Frontend\Cache\CacheInstruction; /** * @internal */ +#[Autoconfigure(public: true)] class TypoScriptWaterfall extends AbstractSubModule implements RequestEnricherInterface, ModuleSettingsProviderInterface { protected array $printConf = [ diff --git a/typo3/sysext/adminpanel/Classes/Modules/TsDebugModule.php b/typo3/sysext/adminpanel/Classes/Modules/TsDebugModule.php index 149cebdea39203a698ad27a637fb2937ac7ed8d0..dbe23920628ecc5da5beb7efbd61c93247e11557 100644 --- a/typo3/sysext/adminpanel/Classes/Modules/TsDebugModule.php +++ b/typo3/sysext/adminpanel/Classes/Modules/TsDebugModule.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Adminpanel\Modules; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Adminpanel\ModuleApi\AbstractModule; use TYPO3\CMS\Adminpanel\ModuleApi\ShortInfoProviderInterface; use TYPO3\CMS\Core\TimeTracker\TimeTracker; @@ -25,6 +26,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; /** * Admin Panel TypoScript Debug Module */ +#[Autoconfigure(public: true)] class TsDebugModule extends AbstractModule implements ShortInfoProviderInterface { public function getIdentifier(): string diff --git a/typo3/sysext/adminpanel/Configuration/Services.yaml b/typo3/sysext/adminpanel/Configuration/Services.yaml index cca02b9dd6c13da9c4b247ed0c335bf0ac2fb3f9..40519bb250d9c27ae248d6293519a1cb3446f7d9 100644 --- a/typo3/sysext/adminpanel/Configuration/Services.yaml +++ b/typo3/sysext/adminpanel/Configuration/Services.yaml @@ -12,30 +12,6 @@ services: factory: ['@TYPO3\CMS\Core\Cache\CacheManager', 'getCache'] arguments: ['adminpanel_requestcache'] - TYPO3\CMS\Adminpanel\Controller\AjaxController: - public: true - TYPO3\CMS\Adminpanel\Controller\MainController: - public: true - - TYPO3\CMS\Adminpanel\Modules\CacheModule: - public: true - TYPO3\CMS\Adminpanel\Modules\DebugModule: - public: true - TYPO3\CMS\Adminpanel\Modules\InfoModule: - public: true - TYPO3\CMS\Adminpanel\Modules\PreviewModule: - public: true - TYPO3\CMS\Adminpanel\Modules\TsDebugModule: - public: true - TYPO3\CMS\Adminpanel\Modules\Debug\Log: - public: true - TYPO3\CMS\Adminpanel\Modules\Debug\Events: - public: true - TYPO3\CMS\Adminpanel\Modules\Info\GeneralInformation: - public: true - TYPO3\CMS\Adminpanel\Modules\TsDebug\TypoScriptWaterfall: - public: true - Psr\EventDispatcher\EventDispatcherInterface: alias: TYPO3\CMS\Adminpanel\Service\EventDispatcher public: true diff --git a/typo3/sysext/backend/Classes/Authentication/PasswordReset.php b/typo3/sysext/backend/Classes/Authentication/PasswordReset.php index c44396a8d748a05de7c7918ea7255d0670290606..963675971937ec8e970e6e85c8028758125aa79f 100644 --- a/typo3/sysext/backend/Classes/Authentication/PasswordReset.php +++ b/typo3/sysext/backend/Classes/Authentication/PasswordReset.php @@ -23,6 +23,7 @@ use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\UriInterface; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\Mime\Address; use TYPO3\CMS\Backend\Routing\UriBuilder; use TYPO3\CMS\Core\Context\Context; @@ -61,6 +62,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * * @internal this is a concrete implementation for User/Password login and not part of public TYPO3 Core API. */ +#[Autoconfigure(public: true)] class PasswordReset implements LoggerAwareInterface { use LoggerAwareTrait; diff --git a/typo3/sysext/backend/Classes/Backend/Shortcut/ShortcutRepository.php b/typo3/sysext/backend/Classes/Backend/Shortcut/ShortcutRepository.php index 25319bbb1a5bc49e53903634e9d6a7649351b1c3..a17e3237ca517b3831045e8f117cffa59f849470 100644 --- a/typo3/sysext/backend/Classes/Backend/Shortcut/ShortcutRepository.php +++ b/typo3/sysext/backend/Classes/Backend/Shortcut/ShortcutRepository.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Backend\Shortcut; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Module\ModuleProvider; use TYPO3\CMS\Backend\Routing\Router; use TYPO3\CMS\Backend\Routing\UriBuilder; @@ -38,6 +39,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * * @internal This class is a specific Backend implementation and is not considered part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class ShortcutRepository { /** diff --git a/typo3/sysext/backend/Classes/Backend/ToolbarItems/ClearCacheToolbarItem.php b/typo3/sysext/backend/Classes/Backend/ToolbarItems/ClearCacheToolbarItem.php index 3593939cd69decf4e1a6cdead341ed288b0c515b..fb8b1bbf4df9f334ba7c0d563bfdd198fbb92938 100644 --- a/typo3/sysext/backend/Classes/Backend/ToolbarItems/ClearCacheToolbarItem.php +++ b/typo3/sysext/backend/Classes/Backend/ToolbarItems/ClearCacheToolbarItem.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Backend\Backend\ToolbarItems; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Backend\Event\ModifyClearCacheActionsEvent; use TYPO3\CMS\Backend\Routing\UriBuilder; use TYPO3\CMS\Backend\Toolbar\RequestAwareToolbarItemInterface; @@ -31,6 +32,7 @@ use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; * Adds a dropdown if there are more than one item to clear (usually for admins to render the flush all caches). * The dropdown items can be manipulated using ModifyClearCacheActionsEvent. */ +#[Autoconfigure(public: true)] class ClearCacheToolbarItem implements ToolbarItemInterface, RequestAwareToolbarItemInterface { protected array $cacheActions = []; diff --git a/typo3/sysext/backend/Classes/Backend/ToolbarItems/ShortcutToolbarItem.php b/typo3/sysext/backend/Classes/Backend/ToolbarItems/ShortcutToolbarItem.php index cd7fd03d4179a8a67fa427ad7f6c1435a129ff43..6f977dad79ef8ef6c0dc77768e499465dd3f5b01 100644 --- a/typo3/sysext/backend/Classes/Backend/ToolbarItems/ShortcutToolbarItem.php +++ b/typo3/sysext/backend/Classes/Backend/ToolbarItems/ShortcutToolbarItem.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Backend\ToolbarItems; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Backend\Shortcut\ShortcutRepository; use TYPO3\CMS\Backend\Toolbar\RequestAwareToolbarItemInterface; use TYPO3\CMS\Backend\Toolbar\ToolbarItemInterface; @@ -29,6 +30,7 @@ use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; * * @internal This class is a specific Backend implementation and is not considered part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class ShortcutToolbarItem implements ToolbarItemInterface, RequestAwareToolbarItemInterface { private ServerRequestInterface $request; diff --git a/typo3/sysext/backend/Classes/Backend/ToolbarItems/SystemInformationToolbarItem.php b/typo3/sysext/backend/Classes/Backend/ToolbarItems/SystemInformationToolbarItem.php index 5564c4bcb2ed5763737cff80ce7008742b94d91f..dc7913d6c6ad4040cdcc43058e43894714c5f395 100644 --- a/typo3/sysext/backend/Classes/Backend/ToolbarItems/SystemInformationToolbarItem.php +++ b/typo3/sysext/backend/Classes/Backend/ToolbarItems/SystemInformationToolbarItem.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Backend\Backend\ToolbarItems; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Backend\Event\SystemInformationToolbarCollectorEvent; use TYPO3\CMS\Backend\Toolbar\Enumeration\InformationStatus as DeprectaedInformationStatus; use TYPO3\CMS\Backend\Toolbar\InformationStatus; @@ -37,6 +38,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * Render system information toolbar item and drop-down. * Provides some events for other extensions to add information. */ +#[Autoconfigure(public: true)] class SystemInformationToolbarItem implements ToolbarItemInterface, RequestAwareToolbarItemInterface { private ServerRequestInterface $request; diff --git a/typo3/sysext/backend/Classes/ContextMenu/ContextMenu.php b/typo3/sysext/backend/Classes/ContextMenu/ContextMenu.php index fb1da11a9267054a5f43fbcf49d8f6f5b39ced89..1d2983fdf1494d1ecbb981353e962c8bc1dcb4e4 100644 --- a/typo3/sysext/backend/Classes/ContextMenu/ContextMenu.php +++ b/typo3/sysext/backend/Classes/ContextMenu/ContextMenu.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\ContextMenu; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\ContextMenu\ItemProviders\ItemProvidersRegistry; use TYPO3\CMS\Backend\ContextMenu\ItemProviders\ProviderInterface; @@ -24,6 +25,7 @@ use TYPO3\CMS\Backend\ContextMenu\ItemProviders\ProviderInterface; * Class for generating the click menu * @internal */ +#[Autoconfigure(public: true)] class ContextMenu { protected ItemProvidersRegistry $itemProvidersRegistry; diff --git a/typo3/sysext/backend/Classes/Form/FormDataProvider/ReturnUrl.php b/typo3/sysext/backend/Classes/Form/FormDataProvider/ReturnUrl.php index 49cb8d3c5d4cbee76a30d29f2de4c84775417cec..1f94de07ae31a2ab0cb1a8ba163ee8aee15909c9 100644 --- a/typo3/sysext/backend/Classes/Form/FormDataProvider/ReturnUrl.php +++ b/typo3/sysext/backend/Classes/Form/FormDataProvider/ReturnUrl.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Backend\Form\FormDataProvider; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Form\FormDataProviderInterface; use TYPO3\CMS\Backend\Routing\UriBuilder; @@ -30,6 +31,7 @@ use TYPO3\CMS\Backend\Routing\UriBuilder; * data, since only controllers know details about current * context. The fallback below is a bit of guesswork. */ +#[Autoconfigure(public: true)] class ReturnUrl implements FormDataProviderInterface { public function __construct(private readonly UriBuilder $uriBuilder) {} diff --git a/typo3/sysext/backend/Classes/Form/FormDataProvider/SiteDatabaseEditRow.php b/typo3/sysext/backend/Classes/Form/FormDataProvider/SiteDatabaseEditRow.php index 61b51fbde2e98e134541faf52e1ea58eb7a82c3f..c145f69b96355da5a5bb7bdc8e3e6f2479ee2d25 100644 --- a/typo3/sysext/backend/Classes/Form/FormDataProvider/SiteDatabaseEditRow.php +++ b/typo3/sysext/backend/Classes/Form/FormDataProvider/SiteDatabaseEditRow.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Form\FormDataProvider; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Form\FormDataProviderInterface; use TYPO3\CMS\Core\Configuration\SiteConfiguration; use TYPO3\CMS\Core\Exception\SiteNotFoundException; @@ -28,6 +29,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * * Fetch "row" data from yml file and set as 'databaseRow' */ +#[Autoconfigure(public: true)] class SiteDatabaseEditRow implements FormDataProviderInterface { /** diff --git a/typo3/sysext/backend/Classes/Form/Processor/SelectItemProcessor.php b/typo3/sysext/backend/Classes/Form/Processor/SelectItemProcessor.php index 6ddf0f76f7fd25fe5e9db3e8c28967040ec7480b..8fad90fbdeb2abdd5253897cca5b6455575ae4ba 100644 --- a/typo3/sysext/backend/Classes/Form/Processor/SelectItemProcessor.php +++ b/typo3/sysext/backend/Classes/Form/Processor/SelectItemProcessor.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Form\Processor; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; use TYPO3\CMS\Core\Localization\LanguageService; use TYPO3\CMS\Core\Localization\LanguageServiceFactory; @@ -29,6 +30,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * @internal ext:backend internal implementation and not part of the public core API. * @todo Move additional shareable code from form-engine into here. */ +#[Autoconfigure(public: true)] final class SelectItemProcessor { public function __construct(protected readonly LanguageServiceFactory $languageServiceFactory) {} diff --git a/typo3/sysext/backend/Classes/History/RecordHistoryRollback.php b/typo3/sysext/backend/Classes/History/RecordHistoryRollback.php index 75ac36c62a8691eaff784371d590b1ab9b0092fa..087348f12c862db3039c7b630625af1e18254df7 100644 --- a/typo3/sysext/backend/Classes/History/RecordHistoryRollback.php +++ b/typo3/sysext/backend/Classes/History/RecordHistoryRollback.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\History; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\History\Event\AfterHistoryRollbackFinishedEvent; use TYPO3\CMS\Backend\History\Event\BeforeHistoryRollbackStartEvent; use TYPO3\CMS\Backend\Utility\BackendUtility; @@ -25,6 +26,7 @@ use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; use TYPO3\CMS\Core\DataHandling\DataHandler; use TYPO3\CMS\Core\Utility\GeneralUtility; +#[Autoconfigure(public: true)] class RecordHistoryRollback { /** diff --git a/typo3/sysext/backend/Classes/Resource/PublicUrlPrefixer.php b/typo3/sysext/backend/Classes/Resource/PublicUrlPrefixer.php index e8f9c712d5c812436a0d290e6ffab4d8dc3ecbff..b8c1db1320b79534621b4d120d133ba98980e501 100644 --- a/typo3/sysext/backend/Classes/Resource/PublicUrlPrefixer.php +++ b/typo3/sysext/backend/Classes/Resource/PublicUrlPrefixer.php @@ -17,11 +17,13 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Resource; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Resource\Event\GeneratePublicUrlForResourceEvent; use TYPO3\CMS\Core\Resource\ResourceInterface; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\PathUtility; +#[Autoconfigure(public: true)] class PublicUrlPrefixer { /** diff --git a/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessFactory.php b/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessFactory.php index ea156215aebe4999c7e0ff75ccc2fda2be4c0e2b..3e5961a478e7cd2a03ecb986a329e517c94ff864 100644 --- a/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessFactory.php +++ b/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessFactory.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Security\SudoMode\Access; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Routing\Route; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -26,6 +27,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * * @internal */ +#[Autoconfigure(public: true)] class AccessFactory { protected const DEFAULT_CLAIM_LIFETIME = 300; diff --git a/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessStorage.php b/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessStorage.php index e1408338a47e386518118fe3af387d2139e06348..d0b7bcc88177293ea215848ccfb434ecae8b2a18 100644 --- a/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessStorage.php +++ b/typo3/sysext/backend/Classes/Security/SudoMode/Access/AccessStorage.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Backend\Security\SudoMode\Access; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; /** @@ -26,6 +27,7 @@ use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; * * @internal */ +#[Autoconfigure(public: true)] class AccessStorage implements LoggerAwareInterface { use LoggerAwareTrait; diff --git a/typo3/sysext/backend/Classes/Tree/View/ContentCreationPagePositionMap.php b/typo3/sysext/backend/Classes/Tree/View/ContentCreationPagePositionMap.php index ec6ce457a292a619ff12bd7964f448e72fc68af6..1f836628e8dc9ff5420aa83ac0aa84eee523fc52 100644 --- a/typo3/sysext/backend/Classes/Tree/View/ContentCreationPagePositionMap.php +++ b/typo3/sysext/backend/Classes/Tree/View/ContentCreationPagePositionMap.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Tree\View; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Routing\UriBuilder; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Backend\View\BackendLayoutView; @@ -29,6 +30,7 @@ use TYPO3\CMS\Core\Utility\StringUtility; * * @internal This class is a TYPO3 Backend implementation and is not considered part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class ContentCreationPagePositionMap extends AbstractContentPagePositionMap { /** diff --git a/typo3/sysext/backend/Classes/Tree/View/ContentMovingPagePositionMap.php b/typo3/sysext/backend/Classes/Tree/View/ContentMovingPagePositionMap.php index 69525f8cf745650c3b85b3c30ee617edd008b4b7..5347ed1dacd6a90f3cd1246e95ca48d8be1a3652 100644 --- a/typo3/sysext/backend/Classes/Tree/View/ContentMovingPagePositionMap.php +++ b/typo3/sysext/backend/Classes/Tree/View/ContentMovingPagePositionMap.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Backend\Tree\View; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Routing\UriBuilder; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Backend\View\BackendLayoutView; @@ -28,6 +29,7 @@ use TYPO3\CMS\Core\Imaging\IconSize; * * @internal This class is a TYPO3 Backend implementation and is not considered part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class ContentMovingPagePositionMap extends AbstractContentPagePositionMap { /** diff --git a/typo3/sysext/backend/Classes/View/AuthenticationStyleInformation.php b/typo3/sysext/backend/Classes/View/AuthenticationStyleInformation.php index b17dbae39638016795ea700cbeca3a844d917a39..f97cab4670901e6fcfd7fdb6d7cc95b4ce7945b5 100644 --- a/typo3/sysext/backend/Classes/View/AuthenticationStyleInformation.php +++ b/typo3/sysext/backend/Classes/View/AuthenticationStyleInformation.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Backend\View; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Configuration\ExtensionConfiguration; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\PathUtility; @@ -28,6 +29,7 @@ use TYPO3\CMS\Core\Utility\PathUtility; * * @internal */ +#[Autoconfigure(public: true)] class AuthenticationStyleInformation implements LoggerAwareInterface { use LoggerAwareTrait; diff --git a/typo3/sysext/backend/Configuration/Services.yaml b/typo3/sysext/backend/Configuration/Services.yaml index f2a4b230e97980c1576bb72475128c8485fd8772..fb06daa03388e1a701e9a80c7c6876554017d6db 100644 --- a/typo3/sysext/backend/Configuration/Services.yaml +++ b/typo3/sysext/backend/Configuration/Services.yaml @@ -15,16 +15,10 @@ services: tags: - { name: 'console.command', command: 'backend:user:create', description: 'Create a backend user', schedulable: false } - TYPO3\CMS\Backend\Authentication\PasswordReset: - public: true - TYPO3\CMS\Backend\Clipboard\Clipboard: shared: false public: true - TYPO3\CMS\Backend\ContextMenu\ContextMenu: - public: true - TYPO3\CMS\Backend\ContextMenu\ItemProviders\ItemProvidersRegistry: arguments: - !tagged_iterator backend.contextmenu.itemprovider @@ -39,15 +33,6 @@ services: shared: false public: true - TYPO3\CMS\Backend\History\RecordHistoryRollback: - public: true - - TYPO3\CMS\Backend\Backend\Shortcut\ShortcutRepository: - public: true - - TYPO3\CMS\Backend\View\AuthenticationStyleInformation: - public: true - TYPO3\CMS\Backend\Search\LiveSearch\SearchProviderRegistry: arguments: - !tagged_iterator livesearch.provider @@ -60,18 +45,9 @@ services: tags: - { name: 'livesearch.provider', priority: 60 } - TYPO3\CMS\Backend\Form\FormDataProvider\ReturnUrl: - public: true - - TYPO3\CMS\Backend\Form\FormDataProvider\SiteDatabaseEditRow: - public: true - TYPO3\CMS\Backend\Form\InlineStackProcessor: shared: false - TYPO3\CMS\Backend\Form\Processor\SelectItemProcessor: - public: true - TYPO3\CMS\Backend\RecordList\DatabaseRecordList: shared: false public: true @@ -87,34 +63,10 @@ services: arguments: - !tagged_iterator recordlist.elementbrowser - TYPO3\CMS\Backend\Resource\PublicUrlPrefixer: - public: true - - TYPO3\CMS\Backend\Backend\ToolbarItems\ClearCacheToolbarItem: - public: true - - TYPO3\CMS\Backend\Backend\ToolbarItems\ShortcutToolbarItem: - public: true - - TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem: - public: true - TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler: shared: false public: true - TYPO3\CMS\Backend\Tree\View\ContentCreationPagePositionMap: - public: true - - TYPO3\CMS\Backend\Tree\View\ContentMovingPagePositionMap: - public: true - - TYPO3\CMS\Backend\Security\SudoMode\Access\AccessFactory: - public: true - - TYPO3\CMS\Backend\Security\SudoMode\Access\AccessStorage: - public: true - TYPO3\CMS\Backend\View\RecordSearchBoxComponent: shared: false public: true diff --git a/typo3/sysext/core/Classes/Authentication/Mfa/MfaProviderRegistry.php b/typo3/sysext/core/Classes/Authentication/Mfa/MfaProviderRegistry.php index 2b77d10b2056133cc4ac42f8b872592113b8f740..5bec18b842d374a01ef2482bfafb5b73c43cea3b 100644 --- a/typo3/sysext/core/Classes/Authentication/Mfa/MfaProviderRegistry.php +++ b/typo3/sysext/core/Classes/Authentication/Mfa/MfaProviderRegistry.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Authentication\Mfa; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Authentication\AbstractUserAuthentication; /** @@ -24,6 +25,7 @@ use TYPO3\CMS\Core\Authentication\AbstractUserAuthentication; * * @internal should only be used by the TYPO3 Core */ +#[Autoconfigure(public: true)] class MfaProviderRegistry { /** diff --git a/typo3/sysext/core/Classes/Configuration/FlexForm/FlexFormTools.php b/typo3/sysext/core/Classes/Configuration/FlexForm/FlexFormTools.php index 9c2830591ffa349aa8ac57ff19de5fe6cdc407c1..22202c4c483fe54f603eeb39f6e86db6b7e11b2b 100644 --- a/typo3/sysext/core/Classes/Configuration/FlexForm/FlexFormTools.php +++ b/typo3/sysext/core/Classes/Configuration/FlexForm/FlexFormTools.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Configuration\FlexForm; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Configuration\Event\AfterFlexFormDataStructureIdentifierInitializedEvent; use TYPO3\CMS\Core\Configuration\Event\AfterFlexFormDataStructureParsedEvent; use TYPO3\CMS\Core\Configuration\Event\BeforeFlexFormDataStructureIdentifierInitializedEvent; @@ -36,6 +37,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * This service provides various helpers to determine the data structure of flex form * fields and to maintain integrity of flex form related details in general. */ +#[Autoconfigure(public: true)] class FlexFormTools { public function __construct( diff --git a/typo3/sysext/core/Classes/Controller/FileDumpController.php b/typo3/sysext/core/Classes/Controller/FileDumpController.php index c3d4982b5e6aed45b1137e706c93c2988b772639..cf526af8455592eeb6c53e333b985dd7ed907c1e 100644 --- a/typo3/sysext/core/Classes/Controller/FileDumpController.php +++ b/typo3/sysext/core/Classes/Controller/FileDumpController.php @@ -21,6 +21,7 @@ use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ResponseFactoryInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Crypto\HashService; use TYPO3\CMS\Core\Imaging\ImageManipulation\CropVariantCollection; use TYPO3\CMS\Core\Resource\Event\ModifyFileDumpEvent; @@ -35,6 +36,7 @@ use TYPO3\CMS\Core\Resource\Security\FileNameValidator; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\PathUtility; +#[Autoconfigure(public: true)] readonly class FileDumpController { public function __construct( diff --git a/typo3/sysext/core/Classes/Controller/PasswordGeneratorController.php b/typo3/sysext/core/Classes/Controller/PasswordGeneratorController.php index b6b1412133d41280cac0b7881993eedc2d5650b0..0b3691c7e52ff2a1d683e510142f554d280e4c12 100644 --- a/typo3/sysext/core/Classes/Controller/PasswordGeneratorController.php +++ b/typo3/sysext/core/Classes/Controller/PasswordGeneratorController.php @@ -21,6 +21,7 @@ use Psr\Http\Message\ResponseFactoryInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\StreamFactoryInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Crypto\Random; use TYPO3\CMS\Core\Exception\InvalidPasswordRulesException; use TYPO3\CMS\Core\Localization\LanguageService; @@ -28,6 +29,7 @@ use TYPO3\CMS\Core\Localization\LanguageService; /** * @internal Only to be used within TYPO3. Might change in the future. */ +#[Autoconfigure(public: true)] class PasswordGeneratorController { public function __construct( diff --git a/typo3/sysext/core/Classes/DataHandling/ItemProcessingService.php b/typo3/sysext/core/Classes/DataHandling/ItemProcessingService.php index 71b1dc58f6658965074d773f0596b20d915ba861..c4a9f6786cda3b99004fbe58146364e401ec6eec 100644 --- a/typo3/sysext/core/Classes/DataHandling/ItemProcessingService.php +++ b/typo3/sysext/core/Classes/DataHandling/ItemProcessingService.php @@ -15,6 +15,7 @@ namespace TYPO3\CMS\Core\DataHandling; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Exception\SiteNotFoundException; use TYPO3\CMS\Core\Localization\LanguageService; @@ -30,6 +31,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; /** * Provides services around item processing */ +#[Autoconfigure(public: true)] class ItemProcessingService { public function __construct( diff --git a/typo3/sysext/core/Classes/Database/ReferenceIndex.php b/typo3/sysext/core/Classes/Database/ReferenceIndex.php index 9779818f26eba0d71c6d749f0cfbb0af0f9f2418..8b52fddd383409fc0e24de9d72e51780509377c2 100644 --- a/typo3/sysext/core/Classes/Database/ReferenceIndex.php +++ b/typo3/sysext/core/Classes/Database/ReferenceIndex.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Core\Database; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Log\LogLevel; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Backend\View\ProgressListenerInterface; use TYPO3\CMS\Core\Configuration\FlexForm\Exception\InvalidIdentifierException; @@ -36,6 +37,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * * @internal Extensions shouldn't fiddle with the reference index themselves, it's task of DataHandler to do this. */ +#[Autoconfigure(public: true)] class ReferenceIndex { /** diff --git a/typo3/sysext/core/Classes/Database/Schema/SqlReader.php b/typo3/sysext/core/Classes/Database/Schema/SqlReader.php index 72a316a412591bc983a58e58b49b6c861b3c14d1..7752c6f438798288d94d2e506e0ee4d8bda87dc0 100644 --- a/typo3/sysext/core/Classes/Database/Schema/SqlReader.php +++ b/typo3/sysext/core/Classes/Database/Schema/SqlReader.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Database\Schema; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Database\Event\AlterTableDefinitionStatementsEvent; use TYPO3\CMS\Core\Package\PackageManager; @@ -27,6 +28,7 @@ use TYPO3\CMS\Core\Package\PackageManager; * * @internal not part of public core API. */ +#[Autoconfigure(public: true)] class SqlReader { /** diff --git a/typo3/sysext/core/Classes/Domain/Access/RecordAccessVoter.php b/typo3/sysext/core/Classes/Domain/Access/RecordAccessVoter.php index aa55f8226528e6e7454cf6d8fb5e55807f3b0105..051a00fe0c1b9ddfe6b7c9c7530ae8cb4bfb45e7 100644 --- a/typo3/sysext/core/Classes/Domain/Access/RecordAccessVoter.php +++ b/typo3/sysext/core/Classes/Domain/Access/RecordAccessVoter.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Domain\Access; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Context\Context; /** @@ -25,6 +26,7 @@ use TYPO3\CMS\Core\Context\Context; * * Not related to "write permissions" etc. */ +#[Autoconfigure(public: true)] class RecordAccessVoter { public function __construct( diff --git a/typo3/sysext/core/Classes/ExpressionLanguage/DefaultProvider.php b/typo3/sysext/core/Classes/ExpressionLanguage/DefaultProvider.php index 2a835aacc04820cfc38219da923ca76ff3614ffd..abe0a9c62f7be16ad9119bfe7d5802874e07eb57 100644 --- a/typo3/sysext/core/Classes/ExpressionLanguage/DefaultProvider.php +++ b/typo3/sysext/core/Classes/ExpressionLanguage/DefaultProvider.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\ExpressionLanguage; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Configuration\Features; use TYPO3\CMS\Core\Context\Context; use TYPO3\CMS\Core\Core\Environment; @@ -29,6 +30,7 @@ use TYPO3\CMS\Core\Information\Typo3Version; * * @internal */ +#[Autoconfigure(public: true)] class DefaultProvider extends AbstractProvider { public function __construct( diff --git a/typo3/sysext/core/Classes/Html/RteHtmlParser.php b/typo3/sysext/core/Classes/Html/RteHtmlParser.php index 0a45bbf97b298bed52f2837c7f23606398b1ef8a..2701adb831895f1ff113ee18bfbe07991fbc794c 100644 --- a/typo3/sysext/core/Classes/Html/RteHtmlParser.php +++ b/typo3/sysext/core/Classes/Html/RteHtmlParser.php @@ -20,6 +20,7 @@ namespace TYPO3\CMS\Core\Html; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Configuration\Features; use TYPO3\CMS\Core\Html\Event\BrokenLinkAnalysisEvent; use TYPO3\CMS\Core\LinkHandling\Exception\UnknownLinkHandlerException; @@ -36,6 +37,7 @@ use TYPO3\HtmlSanitizer\Builder\BuilderInterface; * line breaks to LFs internally, however when all transformations are done, all LFs are transformed to CRLFs. * This means: RteHtmlParser always returns CRLFs to be maximum compatible with all formats. */ +#[Autoconfigure(public: true)] class RteHtmlParser extends HtmlParser implements LoggerAwareInterface { use LoggerAwareTrait; diff --git a/typo3/sysext/core/Classes/LinkHandling/TypoLinkCodecService.php b/typo3/sysext/core/Classes/LinkHandling/TypoLinkCodecService.php index a03bf61dfdb8bddd1ee8237f9895ca9d3dc64c8c..448f5292b6cd4428267564b1615f25f15d6c7c2e 100644 --- a/typo3/sysext/core/Classes/LinkHandling/TypoLinkCodecService.php +++ b/typo3/sysext/core/Classes/LinkHandling/TypoLinkCodecService.php @@ -18,12 +18,14 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\LinkHandling; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\LinkHandling\Event\AfterTypoLinkDecodedEvent; use TYPO3\CMS\Core\LinkHandling\Event\BeforeTypoLinkEncodedEvent; /** * This class provides basic functionality to encode and decode typolink strings */ +#[Autoconfigure(public: true)] final readonly class TypoLinkCodecService { /** diff --git a/typo3/sysext/core/Classes/Localization/TcaSystemLanguageCollector.php b/typo3/sysext/core/Classes/Localization/TcaSystemLanguageCollector.php index fd86a0206c7726920c21e42b48c1e3a8f577982d..8543d196c4dd33b068e69821e29f383e22cfddf6 100644 --- a/typo3/sysext/core/Classes/Localization/TcaSystemLanguageCollector.php +++ b/typo3/sysext/core/Classes/Localization/TcaSystemLanguageCollector.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Localization; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; use TYPO3\CMS\Core\Site\Entity\NullSite; use TYPO3\CMS\Core\Site\SiteFinder; @@ -26,6 +27,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * Provides ItemProcFunc fields for special population of available TYPO3 system languages * @internal */ +#[Autoconfigure(public: true)] final class TcaSystemLanguageCollector { public function __construct( diff --git a/typo3/sysext/core/Classes/Locking/ResourceMutex.php b/typo3/sysext/core/Classes/Locking/ResourceMutex.php index 564023d482bfc601c6e5bb6c43c84b077e458c73..6443ec67227833d0358b58b0b77c7fe12db8e4db 100644 --- a/typo3/sysext/core/Classes/Locking/ResourceMutex.php +++ b/typo3/sysext/core/Classes/Locking/ResourceMutex.php @@ -15,6 +15,7 @@ namespace TYPO3\CMS\Core\Locking; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Locking\Exception\LockAcquireException; use TYPO3\CMS\Core\Locking\Exception\LockAcquireWouldBlockException; use TYPO3\CMS\Core\Locking\Exception\LockCreateException; @@ -50,6 +51,7 @@ use TYPO3\CMS\Core\Locking\Exception\LockCreateException; * * Note that the access lock resources are NEVER deleted/destroyed, otherwise the whole thing would be broken. */ +#[Autoconfigure(public: true)] class ResourceMutex { /** diff --git a/typo3/sysext/core/Classes/Mail/Mailer.php b/typo3/sysext/core/Classes/Mail/Mailer.php index 90b5073e8b4523ab29f4e316776b5295c4dd7e92..92268e3a8e4924519556618615df3a375a2064fa 100644 --- a/typo3/sysext/core/Classes/Mail/Mailer.php +++ b/typo3/sysext/core/Classes/Mail/Mailer.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Core\Mail; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\Mailer\Envelope; use Symfony\Component\Mailer\SentMessage; use Symfony\Component\Mailer\Transport\TransportInterface; @@ -35,6 +36,7 @@ use TYPO3\CMS\Core\Utility\MailUtility; * This will use the setting in TYPO3_CONF_VARS to choose the correct transport * for it to work out-of-the-box. */ +#[Autoconfigure(public: true)] class Mailer implements MailerInterface { protected array $mailSettings = []; diff --git a/typo3/sysext/core/Classes/Package/PackageActivationService.php b/typo3/sysext/core/Classes/Package/PackageActivationService.php index b0dc2d04bcc7cbba64c8a66d4ac40a07718d45e5..85e5cee6d63ca0aaa6daca199e9f8f0c4ac4be30 100644 --- a/typo3/sysext/core/Classes/Package/PackageActivationService.php +++ b/typo3/sysext/core/Classes/Package/PackageActivationService.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Package; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Cache\CacheManager; use TYPO3\CMS\Core\Configuration\Extension\ExtLocalconfFactory; use TYPO3\CMS\Core\Configuration\Extension\ExtTablesFactory; @@ -37,6 +38,7 @@ use TYPO3\CMS\Core\Utility\PathUtility; * * @internal */ +#[Autoconfigure(public: true)] class PackageActivationService { public function __construct( diff --git a/typo3/sysext/core/Classes/Page/PageLayoutResolver.php b/typo3/sysext/core/Classes/Page/PageLayoutResolver.php index 791ea90e0b0a2671f84684ac1127d9ffe02d7de2..2a36903b3a6f623ed315db3f5155d35d4dd81f2e 100644 --- a/typo3/sysext/core/Classes/Page/PageLayoutResolver.php +++ b/typo3/sysext/core/Classes/Page/PageLayoutResolver.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Page; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\View\BackendLayout\DataProviderCollection; use TYPO3\CMS\Backend\View\BackendLayout\DataProviderContext; use TYPO3\CMS\Backend\View\BackendLayout\DefaultDataProvider; @@ -40,6 +41,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * * @internal This is not part of TYPO3 Core API. */ +#[Autoconfigure(public: true)] class PageLayoutResolver { public function __construct( diff --git a/typo3/sysext/core/Classes/RateLimiter/Storage/CachingFrameworkStorage.php b/typo3/sysext/core/Classes/RateLimiter/Storage/CachingFrameworkStorage.php index e33bc53887a01d10baf7dd543e2d69f067810700..04808e1c25d7bd083970221278300af71668f99d 100644 --- a/typo3/sysext/core/Classes/RateLimiter/Storage/CachingFrameworkStorage.php +++ b/typo3/sysext/core/Classes/RateLimiter/Storage/CachingFrameworkStorage.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\RateLimiter\Storage; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\RateLimiter\LimiterStateInterface; use Symfony\Component\RateLimiter\Policy\SlidingWindow; use Symfony\Component\RateLimiter\Policy\TokenBucket; @@ -30,6 +31,7 @@ use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface; * * @internal This is not part of the official TYPO3 Core API due to a limitation of the experimental Symfony Rate Limiter API. */ +#[Autoconfigure(public: true)] class CachingFrameworkStorage implements StorageInterface { private FrontendInterface $cacheInstance; diff --git a/typo3/sysext/core/Classes/Resource/DefaultUploadFolderResolver.php b/typo3/sysext/core/Classes/Resource/DefaultUploadFolderResolver.php index 3e21b11792c0f83f971e81617c729808a31d6074..e9d928f5f70f78e516bde3dae1eb68bcd655f25a 100644 --- a/typo3/sysext/core/Classes/Resource/DefaultUploadFolderResolver.php +++ b/typo3/sysext/core/Classes/Resource/DefaultUploadFolderResolver.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Resource; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; use TYPO3\CMS\Core\EventDispatcher\EventDispatcher; @@ -27,6 +28,7 @@ use TYPO3\CMS\Core\Resource\Exception\FolderDoesNotExistException; * Finds the best matching upload folder for a specific backend user * when uploading or selecting files, based on UserTSconfig or PageTSconfig */ +#[Autoconfigure(public: true)] class DefaultUploadFolderResolver { public function __construct( diff --git a/typo3/sysext/core/Classes/Resource/FileRepository.php b/typo3/sysext/core/Classes/Resource/FileRepository.php index 9fec67f030eff3dd3f5367bbbc94f1661799bbb4..3b462e1699018d6de56175d7cc34f33e162e49e7 100644 --- a/typo3/sysext/core/Classes/Resource/FileRepository.php +++ b/typo3/sysext/core/Classes/Resource/FileRepository.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Resource; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Context\Context; use TYPO3\CMS\Core\Database\Connection; @@ -34,6 +35,7 @@ use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; * It is however recommended to use the ResourceFactory instead of this class, * as it is more flexible. */ +#[Autoconfigure(public: true)] class FileRepository { public function __construct( diff --git a/typo3/sysext/core/Classes/Resource/OnlineMedia/Processing/PreviewProcessing.php b/typo3/sysext/core/Classes/Resource/OnlineMedia/Processing/PreviewProcessing.php index d17d4058adfbcf38addb658a607290e859384779..3a3fb5d0bc64964fe8bee923d9a6f3d089c07de6 100644 --- a/typo3/sysext/core/Classes/Resource/OnlineMedia/Processing/PreviewProcessing.php +++ b/typo3/sysext/core/Classes/Resource/OnlineMedia/Processing/PreviewProcessing.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Core\Resource\OnlineMedia\Processing; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Resource\File; use TYPO3\CMS\Core\Resource\OnlineMedia\Event\AfterVideoPreviewFetchedEvent; use TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry; @@ -26,6 +27,7 @@ use TYPO3\CMS\Core\Resource\Processing\TaskInterface; /** * Preview of Online Media item Processing */ +#[Autoconfigure(public: true)] final class PreviewProcessing implements ProcessorInterface { public function __construct( diff --git a/typo3/sysext/core/Classes/Resource/Security/SvgHookHandler.php b/typo3/sysext/core/Classes/Resource/Security/SvgHookHandler.php index 7e0535b5dba5956a923b518716cc7da672a3b61b..6274f0fcab83ace782d3a1ce008abff756345441 100644 --- a/typo3/sysext/core/Classes/Resource/Security/SvgHookHandler.php +++ b/typo3/sysext/core/Classes/Resource/Security/SvgHookHandler.php @@ -17,6 +17,9 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Resource\Security; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; + +#[Autoconfigure(public: true)] class SvgHookHandler { /** diff --git a/typo3/sysext/core/Classes/Resource/Security/SvgTypeCheck.php b/typo3/sysext/core/Classes/Resource/Security/SvgTypeCheck.php index 66509f620564493ac8890120fde803a4eee48bd0..2685da6c20bcb54c39975b8a1b13f35c7ceb92cb 100644 --- a/typo3/sysext/core/Classes/Resource/Security/SvgTypeCheck.php +++ b/typo3/sysext/core/Classes/Resource/Security/SvgTypeCheck.php @@ -17,11 +17,13 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Resource\Security; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Resource\FileInterface; use TYPO3\CMS\Core\Resource\MimeTypeDetector; use TYPO3\CMS\Core\Type\File\FileInfo; use TYPO3\CMS\Core\Utility\GeneralUtility; +#[Autoconfigure(public: true)] class SvgTypeCheck { protected const MIME_TYPES = ['image/svg', 'image/svg+xml', 'application/svg', 'application/svg+xml']; diff --git a/typo3/sysext/core/Classes/Resource/Service/FileProcessingService.php b/typo3/sysext/core/Classes/Resource/Service/FileProcessingService.php index 539b0863a484a5610ef5f64130771574acd57e8a..e94f29332fa743d00ec5c02a80ac98deeeae91e4 100644 --- a/typo3/sysext/core/Classes/Resource/Service/FileProcessingService.php +++ b/typo3/sysext/core/Classes/Resource/Service/FileProcessingService.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Resource\Service; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Resource\Driver\DriverInterface; use TYPO3\CMS\Core\Resource\Event\AfterFileProcessingEvent; use TYPO3\CMS\Core\Resource\Event\BeforeFileProcessingEvent; @@ -42,6 +43,7 @@ use TYPO3\CMS\Core\Resource\Processing\TaskInterface; * to be processed. If processing is required, a valid Processor is searched for to process the * Task object (which is retrieved from ProcessedFile->getTask()). */ +#[Autoconfigure(public: true)] class FileProcessingService { public function __construct( diff --git a/typo3/sysext/core/Classes/Routing/BackendEntryPointResolver.php b/typo3/sysext/core/Classes/Routing/BackendEntryPointResolver.php index c658dc9335a4e133892af2a5c6816a129c939590..9848ee76b8bc852a16903f61188d4187d4e25c5c 100644 --- a/typo3/sysext/core/Classes/Routing/BackendEntryPointResolver.php +++ b/typo3/sysext/core/Classes/Routing/BackendEntryPointResolver.php @@ -19,12 +19,14 @@ namespace TYPO3\CMS\Core\Routing; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\UriInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Http\NormalizedParams; use TYPO3\CMS\Core\Http\Uri; /** * This class helps to resolve the virtual path to the main entry point of the TYPO3 Backend. */ +#[Autoconfigure(public: true)] class BackendEntryPointResolver { protected string $entryPoint = '/typo3'; diff --git a/typo3/sysext/core/Classes/Routing/RequestContextFactory.php b/typo3/sysext/core/Classes/Routing/RequestContextFactory.php index 9c8a6f7bf5875848e22f8c7149d4fee1154e9f6d..5289d62049f4d09655a617e53c486be9db17efdf 100644 --- a/typo3/sysext/core/Classes/Routing/RequestContextFactory.php +++ b/typo3/sysext/core/Classes/Routing/RequestContextFactory.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Core\Routing; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\UriInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\Routing\RequestContext; use TYPO3\CMS\Core\Site\Entity\SiteLanguage; @@ -26,6 +27,7 @@ use TYPO3\CMS\Core\Site\Entity\SiteLanguage; * @internal this is not part of the TYPO3 Core public API, as it serves as an internal * bridge between symfony/routing component and PSR-7 requests */ +#[Autoconfigure(public: true)] class RequestContextFactory { public function __construct( diff --git a/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyProvider.php b/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyProvider.php index 228b7017b244072bd5c447345d9a9834ab79b1ac..a3b3d92ab48abaa3427cc3afcee882cea9879712 100644 --- a/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyProvider.php +++ b/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyProvider.php @@ -20,6 +20,7 @@ namespace TYPO3\CMS\Core\Security\ContentSecurityPolicy; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\UriInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Core\RequestId; use TYPO3\CMS\Core\Http\NormalizedParams; use TYPO3\CMS\Core\Http\Uri; @@ -34,6 +35,7 @@ use TYPO3\CMS\Core\Site\SiteFinder; * * @internal */ +#[Autoconfigure(public: true)] final class PolicyProvider { protected const REPORTING_URI = '@http-reporting'; diff --git a/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyRegistry.php b/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyRegistry.php index a762b551407bcc43d110c1e4aa27dfa607a0558b..d1b806de48ca4afdb89e3b5bb33b7628681a97ef 100644 --- a/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyRegistry.php +++ b/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/PolicyRegistry.php @@ -17,6 +17,8 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Security\ContentSecurityPolicy; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; + /** * A shared service registry to hold additional adjustments that were collected during * processing the current request. For instance, it would be used to temporarily(!) allow @@ -24,6 +26,7 @@ namespace TYPO3\CMS\Core\Security\ContentSecurityPolicy; * * @internal */ +#[Autoconfigure(public: true)] final class PolicyRegistry { /** diff --git a/typo3/sysext/core/Classes/TypoScript/AST/AstBuilder.php b/typo3/sysext/core/Classes/TypoScript/AST/AstBuilder.php index c06b4510a74dd8eba531cd6db2d59f6594d31fc5..15b8e2ea48488ece1a85ad68bec6a273a4819925 100644 --- a/typo3/sysext/core/Classes/TypoScript/AST/AstBuilder.php +++ b/typo3/sysext/core/Classes/TypoScript/AST/AstBuilder.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\TypoScript\AST; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\TypoScript\AST\CurrentObjectPath\CurrentObjectPath; use TYPO3\CMS\Core\TypoScript\AST\CurrentObjectPath\CurrentObjectPathStack; use TYPO3\CMS\Core\TypoScript\AST\Node\RootNode; @@ -41,6 +42,7 @@ use TYPO3\CMS\Core\TypoScript\Tokenizer\Token\ConstantAwareTokenStream; * * @internal: Internal AST structure. */ +#[Autoconfigure(public: true)] final class AstBuilder extends AbstractAstBuilder implements AstBuilderInterface { public function __construct( diff --git a/typo3/sysext/core/Classes/TypoScript/IncludeTree/StringTreeBuilder.php b/typo3/sysext/core/Classes/TypoScript/IncludeTree/StringTreeBuilder.php index 044d1d004889d558b66c8b0e7863bbf144a73c36..3c5384ee438904b55ccbb4a6f19c6eec48bb02e6 100644 --- a/typo3/sysext/core/Classes/TypoScript/IncludeTree/StringTreeBuilder.php +++ b/typo3/sysext/core/Classes/TypoScript/IncludeTree/StringTreeBuilder.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\TypoScript\IncludeTree; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Cache\Frontend\PhpFrontend; use TYPO3\CMS\Core\TypoScript\IncludeTree\IncludeNode\RootInclude; use TYPO3\CMS\Core\TypoScript\IncludeTree\IncludeNode\StringInclude; @@ -32,6 +33,7 @@ use TYPO3\CMS\Core\TypoScript\Tokenizer\TokenizerInterface; * * @internal */ +#[Autoconfigure(public: true)] final class StringTreeBuilder { public function __construct( diff --git a/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateRepository.php b/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateRepository.php index 2a6f0429393e7be35def5f23a451e8bbf37d351e..ab7133da4da734433154bbe33e7681170a59861a 100644 --- a/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateRepository.php +++ b/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateRepository.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Core\TypoScript\IncludeTree; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Context\Context; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; @@ -34,6 +35,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * * @internal: Internal structure. There is optimization potential and especially getSysTemplateRowsByRootline() will probably vanish later. */ +#[Autoconfigure(public: true)] final class SysTemplateRepository { public function __construct( diff --git a/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateTreeBuilder.php b/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateTreeBuilder.php index 839719447bbc0259472319930074ccb3be58b7fb..795a3768ff2b000e8fc99b16fe06401668c5ed0c 100644 --- a/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateTreeBuilder.php +++ b/typo3/sysext/core/Classes/TypoScript/IncludeTree/SysTemplateTreeBuilder.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\TypoScript\IncludeTree; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Cache\Frontend\PhpFrontend; use TYPO3\CMS\Core\Context\Context; use TYPO3\CMS\Core\Database\Connection; @@ -70,6 +71,7 @@ use TYPO3\CMS\Core\Utility\PathUtility; * * @internal: Internal tree structure. */ +#[Autoconfigure(public: true)] final class SysTemplateTreeBuilder { /** diff --git a/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php b/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php index 9cfd47b2e77aee21f2dae134c36a15859065d533..ff7bf168c05a494d2990dee4a25201419d5e9678 100644 --- a/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php +++ b/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\TypoScript\IncludeTree; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; use TYPO3\CMS\Core\Cache\Frontend\PhpFrontend; use TYPO3\CMS\Core\Core\Environment; @@ -42,6 +43,7 @@ use TYPO3\CMS\Core\Utility\PathUtility; * * @internal */ +#[Autoconfigure(public: true)] final class TsConfigTreeBuilder { public function __construct( diff --git a/typo3/sysext/core/Configuration/Services.yaml b/typo3/sysext/core/Configuration/Services.yaml index 4ce9b6228c43d03effd41a1d4d49e3b8ebb0e0d7..5b4acf42bb18377fba1d44254ec3bda89ebe84ec 100644 --- a/typo3/sysext/core/Configuration/Services.yaml +++ b/typo3/sysext/core/Configuration/Services.yaml @@ -59,48 +59,12 @@ services: command: 'extension:setup' schedulable: false - TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools: - public: true - TYPO3\CMS\Core\Package\UnitTestPackageManager: autoconfigure: false TYPO3\CMS\Core\Http\MiddlewareDispatcher: autoconfigure: false - TYPO3\CMS\Core\Database\ReferenceIndex: - public: true - - TYPO3\CMS\Core\DataHandling\ItemProcessingService: - public: true - - TYPO3\CMS\Core\Database\Schema\SqlReader: - public: true - - TYPO3\CMS\Core\Html\RteHtmlParser: - public: true - - TYPO3\CMS\Core\LinkHandling\TypoLinkCodecService: - public: true - - TYPO3\CMS\Core\Mail\Mailer: - public: true - - TYPO3\CMS\Core\Controller\FileDumpController: - public: true - - TYPO3\CMS\Core\Controller\PasswordGeneratorController: - public: true - - TYPO3\CMS\Core\Localization\TcaSystemLanguageCollector: - public: true - - TYPO3\CMS\Core\Authentication\Mfa\MfaProviderRegistry: - public: true - - TYPO3\CMS\Core\RateLimiter\Storage\CachingFrameworkStorage: - public: true - TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider: tags: - name: mfa.provider @@ -135,12 +99,6 @@ services: shared: false public: true - TYPO3\CMS\Core\Routing\BackendEntryPointResolver: - public: true - - TYPO3\CMS\Core\Routing\RequestContextFactory: - public: true - TYPO3\CMS\Core\Routing\Enhancer\VariableProcessor: public: true shared: false @@ -148,9 +106,6 @@ services: TYPO3\CMS\Core\Routing\Enhancer\VariableProcessorCache: shared: true - TYPO3\CMS\Core\Package\PackageActivationService: - public: true - # Soft Reference Parsers TYPO3\CMS\Core\DataHandling\SoftReference\SubstituteSoftReferenceParser: tags: @@ -182,59 +137,14 @@ services: - name: softreference.parser parserKey: url - TYPO3\CMS\Core\ExpressionLanguage\DefaultProvider: - public: true - - TYPO3\CMS\Core\Locking\ResourceMutex: - public: true - - TYPO3\CMS\Core\Page\PageLayoutResolver: - public: true - TYPO3\CMS\Core\Page\AssetRenderer: public: true arguments: $eventDispatcher: '@Psr\EventDispatcher\EventDispatcherInterface' - TYPO3\CMS\Core\Resource\FileRepository: - public: true - - TYPO3\CMS\Core\Resource\Service\FileProcessingService: - public: true - - TYPO3\CMS\Core\Resource\DefaultUploadFolderResolver: - public: true - - TYPO3\CMS\Core\Resource\Security\SvgHookHandler: - public: true - - TYPO3\CMS\Core\Resource\Security\SvgTypeCheck: - public: true - - TYPO3\CMS\Core\Resource\OnlineMedia\Processing\PreviewProcessing: - public: true - - TYPO3\CMS\Core\Domain\Access\RecordAccessVoter: - public: true - TYPO3\CMS\Core\TypoScript\AST\AstBuilderInterface: alias: TYPO3\CMS\Core\TypoScript\AST\AstBuilder - TYPO3\CMS\Core\TypoScript\AST\AstBuilder: - public: true - - TYPO3\CMS\Core\TypoScript\IncludeTree\StringTreeBuilder: - public: true - - TYPO3\CMS\Core\TypoScript\IncludeTree\SysTemplateRepository: - public: true - - TYPO3\CMS\Core\TypoScript\IncludeTree\SysTemplateTreeBuilder: - public: true - - TYPO3\CMS\Core\TypoScript\IncludeTree\TsConfigTreeBuilder: - public: true - TYPO3\CMS\Core\TypoScript\IncludeTree\Visitor\IncludeTreeAstBuilderVisitor: public: true # Ast builder visitor creates state and should not be re-used @@ -417,12 +327,6 @@ services: arguments: $staticMutations: '@content.security.policies' - TYPO3\CMS\Core\Security\ContentSecurityPolicy\PolicyProvider: - public: true - - TYPO3\CMS\Core\Security\ContentSecurityPolicy\PolicyRegistry: - public: true - # External dependencies GuzzleHttp\Client: diff --git a/typo3/sysext/extensionmanager/Classes/Domain/Repository/BulkExtensionRepositoryWriter.php b/typo3/sysext/extensionmanager/Classes/Domain/Repository/BulkExtensionRepositoryWriter.php index db6d1cb31845e1166e161c896ed05cf86c3156b5..e4d4313d7e517eb25acdccd8edf8453510267cc5 100644 --- a/typo3/sysext/extensionmanager/Classes/Domain/Repository/BulkExtensionRepositoryWriter.php +++ b/typo3/sysext/extensionmanager/Classes/Domain/Repository/BulkExtensionRepositoryWriter.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Extensionmanager\Domain\Repository; use Doctrine\DBAL\Exception as DBALException; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Database\Platform\PlatformInformation; @@ -30,6 +31,7 @@ use TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser; * * @internal This class is a specific domain repository implementation and is not part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class BulkExtensionRepositoryWriter implements \SplObserver { /** diff --git a/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php b/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php index d95fe0435f09e187326de81d63ea3c6c45995d19..084b564b3d73f72f5e6fef4c72900b0bac3215aa 100644 --- a/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php +++ b/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php @@ -17,11 +17,14 @@ declare(strict_types=1); namespace TYPO3\CMS\Extensionmanager\Remote; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; + /** * Registry of remote connectors. * * @internal This class is a specific implementation and is not part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class RemoteRegistry { /** diff --git a/typo3/sysext/extensionmanager/Configuration/Services.yaml b/typo3/sysext/extensionmanager/Configuration/Services.yaml index 133c01f1f56d840f3eba5d74fb9e19a55d7572cb..e8c5cbef483d7baa636f9e0ca88e9eb25c93738f 100644 --- a/typo3/sysext/extensionmanager/Configuration/Services.yaml +++ b/typo3/sysext/extensionmanager/Configuration/Services.yaml @@ -42,9 +42,6 @@ services: alias: true schedulable: false - TYPO3\CMS\Extensionmanager\Remote\RemoteRegistry: - public: true - TYPO3\CMS\Extensionmanager\Report\ExtensionComposerStatus: public: true tags: @@ -54,9 +51,6 @@ services: tags: - name: reports.status - TYPO3\CMS\Extensionmanager\Domain\Repository\BulkExtensionRepositoryWriter: - public: true - extension.remote.ter: class: 'TYPO3\CMS\Extensionmanager\Remote\TerExtensionRemote' arguments: diff --git a/typo3/sysext/form/Classes/Mvc/Configuration/TypoScriptService.php b/typo3/sysext/form/Classes/Mvc/Configuration/TypoScriptService.php index a7fd96bcccf6712e06678ea71c13ed51f8d5fc76..10dc61c44eacda192e19de6add7e373e966fd362 100644 --- a/typo3/sysext/form/Classes/Mvc/Configuration/TypoScriptService.php +++ b/typo3/sysext/form/Classes/Mvc/Configuration/TypoScriptService.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Form\Mvc\Configuration; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\TypoScript\TypoScriptService as CoreTypoScriptService; use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; @@ -25,6 +26,7 @@ use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; * * Scope: frontend */ +#[Autoconfigure(public: true)] class TypoScriptService { protected CoreTypoScriptService $coreTypoScriptService; diff --git a/typo3/sysext/form/Classes/Mvc/Property/PropertyMappingConfiguration.php b/typo3/sysext/form/Classes/Mvc/Property/PropertyMappingConfiguration.php index 33f7c64d72650446dfcb8c475709e24945a116c7..6d3775e5456b7d5c45fcb87455aa8af824aebdaa 100644 --- a/typo3/sysext/form/Classes/Mvc/Property/PropertyMappingConfiguration.php +++ b/typo3/sysext/form/Classes/Mvc/Property/PropertyMappingConfiguration.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Form\Mvc\Property; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Resource\ResourceFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\PathUtility; @@ -34,6 +35,7 @@ use TYPO3\CMS\Form\Mvc\Validation\MimeTypeValidator; * Scope: frontend * @internal */ +#[Autoconfigure(public: true)] class PropertyMappingConfiguration implements AfterFormStateInitializedInterface { public function __construct(protected readonly ValidatorResolver $validatorResolver) {} diff --git a/typo3/sysext/form/Configuration/Services.yaml b/typo3/sysext/form/Configuration/Services.yaml index 0277b54f1ac8ef270f473814bef4180f7cac539c..60878ac1f71b5143b3671037c289fa4ceeab632b 100644 --- a/typo3/sysext/form/Configuration/Services.yaml +++ b/typo3/sysext/form/Configuration/Services.yaml @@ -12,9 +12,6 @@ services: alias: TYPO3\CMS\Form\Mvc\Configuration\ConfigurationManager public: true - TYPO3\CMS\Form\Mvc\Configuration\TypoScriptService: - public: true - TYPO3\CMS\Form\Mvc\Persistence\FormPersistenceManagerInterface: alias: TYPO3\CMS\Form\Mvc\Persistence\FormPersistenceManager public: true @@ -35,9 +32,6 @@ services: public: true shared: false - TYPO3\CMS\Form\Mvc\Property\PropertyMappingConfiguration: - public: true - TYPO3\CMS\Form\SoftReference\FormPersistenceIdentifierSoftReferenceParser: tags: - name: softreference.parser diff --git a/typo3/sysext/frontend/Classes/ContentObject/ContentDataProcessor.php b/typo3/sysext/frontend/Classes/ContentObject/ContentDataProcessor.php index 343de55edd9a9b93f4511f00715dfc2dcefcb79a..d319d8ab685442f6c30db6a7fd4b348583535012 100644 --- a/typo3/sysext/frontend/Classes/ContentObject/ContentDataProcessor.php +++ b/typo3/sysext/frontend/Classes/ContentObject/ContentDataProcessor.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Frontend\ContentObject; use Psr\Container\ContainerInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Utility\ArrayUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Frontend\DataProcessing\DataProcessorRegistry; @@ -23,6 +24,7 @@ use TYPO3\CMS\Frontend\DataProcessing\DataProcessorRegistry; /** * A class that contains methods that can be used to use the dataProcessing functionality */ +#[Autoconfigure(public: true)] class ContentDataProcessor { public function __construct( diff --git a/typo3/sysext/frontend/Classes/Controller/ShowImageController.php b/typo3/sysext/frontend/Classes/Controller/ShowImageController.php index 92569baad961cf501a14b8354f8f2c881e41af07..4fa70dc1eefa7a7ddae450df8e250ee3fc91a413 100644 --- a/typo3/sysext/frontend/Classes/Controller/ShowImageController.php +++ b/typo3/sysext/frontend/Classes/Controller/ShowImageController.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Frontend\Controller; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Configuration\Features; use TYPO3\CMS\Core\Crypto\HashService; use TYPO3\CMS\Core\Exception; @@ -47,6 +48,7 @@ use TYPO3\CMS\Core\Utility\MathUtility; * * @internal this is a concrete TYPO3 implementation and solely used for EXT:frontend and not part of TYPO3's Core API. */ +#[Autoconfigure(public: true)] class ShowImageController { protected const ALLOWED_PARAMETER_NAMES = ['width', 'height', 'crop', 'bodyTag', 'title']; diff --git a/typo3/sysext/frontend/Classes/Html/HtmlWorker.php b/typo3/sysext/frontend/Classes/Html/HtmlWorker.php index adf53bd618c5cf7deed83a7caa03b24c7b2c2787..6efc2cbf97d8136399f5c4f45eedeace64be17d7 100644 --- a/typo3/sysext/frontend/Classes/Html/HtmlWorker.php +++ b/typo3/sysext/frontend/Classes/Html/HtmlWorker.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Frontend\Html; use Masterminds\HTML5; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Security\ContentSecurityPolicy\ConsumableNonce; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Frontend\Typolink\LinkFactory; @@ -26,6 +27,7 @@ use TYPO3\CMS\Frontend\Typolink\UnableToLinkException; /** * @internal API still might change */ +#[Autoconfigure(public: true)] class HtmlWorker { /** diff --git a/typo3/sysext/frontend/Classes/Resource/PublicUrlPrefixer.php b/typo3/sysext/frontend/Classes/Resource/PublicUrlPrefixer.php index 7fa7ad6ac714ce31194766d91b1a8653b474c53c..4d2fe14589b9a464b7006d8d01e5e12e26f7aadf 100644 --- a/typo3/sysext/frontend/Classes/Resource/PublicUrlPrefixer.php +++ b/typo3/sysext/frontend/Classes/Resource/PublicUrlPrefixer.php @@ -17,11 +17,13 @@ declare(strict_types=1); namespace TYPO3\CMS\Frontend\Resource; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Resource\Event\GeneratePublicUrlForResourceEvent; use TYPO3\CMS\Core\Resource\ResourceInterface; use TYPO3\CMS\Core\Utility\PathUtility; use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; +#[Autoconfigure(public: true)] class PublicUrlPrefixer { /** diff --git a/typo3/sysext/frontend/Configuration/Services.yaml b/typo3/sysext/frontend/Configuration/Services.yaml index ec363a55bfff3a40e26764a23cbad6ad8fe54aa4..8b0cc1129f88aec060128a4cdaffcdfa7b05ba03 100644 --- a/typo3/sysext/frontend/Configuration/Services.yaml +++ b/typo3/sysext/frontend/Configuration/Services.yaml @@ -11,12 +11,6 @@ services: # (e.g. because factories are to be used instead) exclude: '../Classes/{Frontend/Controller/TypoScriptFrontendController.php}' - TYPO3\CMS\Frontend\Controller\ShowImageController: - public: true - - TYPO3\CMS\Frontend\ContentObject\ContentDataProcessor: - public: true - TYPO3\CMS\Frontend\ContentObject\ContentObjectFactory: public: true arguments: [!tagged_locator { tag: 'frontend.contentobject', index_by: 'identifier' }] @@ -34,18 +28,12 @@ services: TYPO3\CMS\Frontend\DataProcessing\DataProcessorRegistry: arguments: [!tagged_locator { tag: 'data.processor', index_by: 'identifier' }] - TYPO3\CMS\Frontend\Resource\PublicUrlPrefixer: - public: true - TYPO3\CMS\Frontend\Resource\FileCollector: public: true # @todo The file collector is used for intermediate collection in scoped places. Therefore, the collector can't be # @todo shared. Evaluate if the collector can be build scope aware and made sharable again. shared: false - TYPO3\CMS\Frontend\Html\HtmlWorker: - public: true - # Register all available content objects TYPO3\CMS\Frontend\ContentObject\TextContentObject: tags: diff --git a/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php b/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php index b54dea100b14960c7472d10d2314316babbb267b..ec0f8c4878f3ec52e71c9ede6cb078abf852c68a 100644 --- a/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php +++ b/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Linkvalidator; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; @@ -35,6 +36,7 @@ use TYPO3\CMS\Linkvalidator\Repository\BrokenLinkRepository; * This class provides Processing plugin implementation * @internal */ +#[Autoconfigure(public: true)] class LinkAnalyzer { /** diff --git a/typo3/sysext/linkvalidator/Classes/Linktype/ExternalLinktype.php b/typo3/sysext/linkvalidator/Classes/Linktype/ExternalLinktype.php index cdbbe04a5258b5f7bc8946e8a92375a8018ce6c6..5310ffdb990bc3b055a2fcb3b76bd5b37e9a5023 100644 --- a/typo3/sysext/linkvalidator/Classes/Linktype/ExternalLinktype.php +++ b/typo3/sysext/linkvalidator/Classes/Linktype/ExternalLinktype.php @@ -23,6 +23,7 @@ use GuzzleHttp\Exception\ConnectException; use GuzzleHttp\Exception\RequestException; use GuzzleHttp\Exception\ServerException; use GuzzleHttp\Exception\TooManyRedirectsException; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Http\RequestFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\HttpUtility; @@ -36,6 +37,7 @@ use TYPO3\CMS\Linkvalidator\LinkAnalyzer; * - no caching of results (except for a runtime cache during link checking which will be invalid on next run) * see "Known Problems" in the linkvalidator documentation */ +#[Autoconfigure(public: true)] class ExternalLinktype extends AbstractLinktype { // HTTP status code was delivered (and can be found in $errorParams['errno']) diff --git a/typo3/sysext/linkvalidator/Classes/Repository/BrokenLinkRepository.php b/typo3/sysext/linkvalidator/Classes/Repository/BrokenLinkRepository.php index fd86c990376133c7c5a4e73f0ed5e546592b3047..28c7b45087863c0c2860e0edfbbead1cbfc88a70 100644 --- a/typo3/sysext/linkvalidator/Classes/Repository/BrokenLinkRepository.php +++ b/typo3/sysext/linkvalidator/Classes/Repository/BrokenLinkRepository.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Linkvalidator\Repository; use Doctrine\DBAL\Exception\TableNotFoundException; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Database\Platform\PlatformInformation; @@ -28,6 +29,7 @@ use TYPO3\CMS\Linkvalidator\QueryRestrictions\EditableRestriction; /** * Repository for finding broken links that were detected previously. */ +#[Autoconfigure(public: true)] class BrokenLinkRepository { protected const TABLE = 'tx_linkvalidator_link'; diff --git a/typo3/sysext/linkvalidator/Classes/Result/LinkAnalyzerResult.php b/typo3/sysext/linkvalidator/Classes/Result/LinkAnalyzerResult.php index 1c3070a13bc5929be34119450be83e00af754be1..6cdfbafbaf3f95c715c5e525d7e4ecbf5fee12fa 100644 --- a/typo3/sysext/linkvalidator/Classes/Result/LinkAnalyzerResult.php +++ b/typo3/sysext/linkvalidator/Classes/Result/LinkAnalyzerResult.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Linkvalidator\Result; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; @@ -34,6 +35,7 @@ use TYPO3\CMS\Linkvalidator\Repository\PagesRepository; * * @internal */ +#[Autoconfigure(public: true)] class LinkAnalyzerResult { protected array $brokenLinks = []; diff --git a/typo3/sysext/linkvalidator/Configuration/Services.yaml b/typo3/sysext/linkvalidator/Configuration/Services.yaml index 84c61684a3351f26cc1909759d98855e48d9abeb..01b08b4a0eadc75a1518feea22daf67dd0f916c6 100644 --- a/typo3/sysext/linkvalidator/Configuration/Services.yaml +++ b/typo3/sysext/linkvalidator/Configuration/Services.yaml @@ -9,18 +9,6 @@ services: # Tasks require EXT:scheduler to be installed, ignore for now. exclude: '../Classes/Task' - TYPO3\CMS\Linkvalidator\LinkAnalyzer: - public: true - - TYPO3\CMS\Linkvalidator\Linktype\ExternalLinktype: - public: true - - TYPO3\CMS\Linkvalidator\Repository\BrokenLinkRepository: - public: true - - TYPO3\CMS\Linkvalidator\Result\LinkAnalyzerResult: - public: true - # Linktype registry TYPO3\CMS\Linkvalidator\Linktype\LinktypeRegistry: public: true diff --git a/typo3/sysext/lowlevel/Classes/ConfigurationModuleProvider/ProviderRegistry.php b/typo3/sysext/lowlevel/Classes/ConfigurationModuleProvider/ProviderRegistry.php index 468d92a7348da7501283fcf15ae12ccad9e03d08..2cf12f294682d0f6ee2755f4887923725d28bd36 100644 --- a/typo3/sysext/lowlevel/Classes/ConfigurationModuleProvider/ProviderRegistry.php +++ b/typo3/sysext/lowlevel/Classes/ConfigurationModuleProvider/ProviderRegistry.php @@ -17,9 +17,12 @@ declare(strict_types=1); namespace TYPO3\CMS\Lowlevel\ConfigurationModuleProvider; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; + /** * Registry for configuration providers which is called by the ConfigurationProviderPass */ +#[Autoconfigure(public: true)] final class ProviderRegistry { /** diff --git a/typo3/sysext/lowlevel/Configuration/Services.yaml b/typo3/sysext/lowlevel/Configuration/Services.yaml index 72fe889a7816e15da57ed0c7590c4f42cbc493c1..4191e26d649f5577e9c5a83379da21332d1a23f9 100644 --- a/typo3/sysext/lowlevel/Configuration/Services.yaml +++ b/typo3/sysext/lowlevel/Configuration/Services.yaml @@ -14,9 +14,6 @@ services: description: 'Show entries from the sys_log database table of the last 24 hours.' schedulable: false - TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\ProviderRegistry: - public: true - lowlevel.configuration.module.provider.confvars: class: 'TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\GlobalVariableProvider' tags: diff --git a/typo3/sysext/redirects/Classes/Hooks/DataHandlerSlugUpdateHook.php b/typo3/sysext/redirects/Classes/Hooks/DataHandlerSlugUpdateHook.php index 4ca300faaffd2c2639bdd0d4a2d5ff3034e7ba60..7bdbb65fe1e3e8d078e123085b89ae894839cb6e 100644 --- a/typo3/sysext/redirects/Classes/Hooks/DataHandlerSlugUpdateHook.php +++ b/typo3/sysext/redirects/Classes/Hooks/DataHandlerSlugUpdateHook.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Redirects\Hooks; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\DataHandling\DataHandler; use TYPO3\CMS\Core\Utility\MathUtility; use TYPO3\CMS\Redirects\RedirectUpdate\SlugRedirectChangeItem; @@ -26,6 +27,7 @@ use TYPO3\CMS\Redirects\Service\SlugService; /** * @internal This class is a specific TYPO3 hook implementation and is not part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class DataHandlerSlugUpdateHook { /** diff --git a/typo3/sysext/redirects/Classes/Report/Status/RedirectStatus.php b/typo3/sysext/redirects/Classes/Report/Status/RedirectStatus.php index d82e5fc998a383a6c1542b6188c0f813fb7af441..3c30d07a6663fe99cbdb79329d1eae78175647b9 100644 --- a/typo3/sysext/redirects/Classes/Report/Status/RedirectStatus.php +++ b/typo3/sysext/redirects/Classes/Report/Status/RedirectStatus.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Redirects\Report\Status; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\View\BackendViewFactory; use TYPO3\CMS\Core\Localization\LanguageService; use TYPO3\CMS\Core\Registry; @@ -33,6 +34,7 @@ use TYPO3\CMS\Reports\StatusProviderInterface; /** * Performs checks regarding redirects */ +#[Autoconfigure(public: true)] class RedirectStatus implements StatusProviderInterface, RequestAwareStatusProviderInterface { public function __construct( diff --git a/typo3/sysext/redirects/Configuration/Services.yaml b/typo3/sysext/redirects/Configuration/Services.yaml index 0b021b02588be598db1cf45307624401bb910d1b..40e95b3597adbd39da0221a5c7a409ada0942e40 100644 --- a/typo3/sysext/redirects/Configuration/Services.yaml +++ b/typo3/sysext/redirects/Configuration/Services.yaml @@ -15,12 +15,6 @@ services: arguments: - 'redirects' - TYPO3\CMS\Redirects\Report\Status\RedirectStatus: - public: true - - TYPO3\CMS\Redirects\Hooks\DataHandlerSlugUpdateHook: - public: true - TYPO3\CMS\Redirects\Configuration\CheckIntegrityConfiguration: arguments: $extensionConfiguration: '@extension.configuration.redirects' diff --git a/typo3/sysext/reports/Classes/Report/Status/Status.php b/typo3/sysext/reports/Classes/Report/Status/Status.php index f67ca13d6f4fa4f126e61ec0e4f614376cc1855a..93e6bd358021651dacc859f54f617b36fac45edf 100644 --- a/typo3/sysext/reports/Classes/Report/Status/Status.php +++ b/typo3/sysext/reports/Classes/Report/Status/Status.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Reports\Report\Status; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\View\BackendViewFactory; use TYPO3\CMS\Core\Localization\LanguageService; use TYPO3\CMS\Core\Registry; @@ -30,6 +31,7 @@ use TYPO3\CMS\Reports\Status as ReportStatus; /** * The status report */ +#[Autoconfigure(public: true)] class Status implements RequestAwareReportInterface { /** diff --git a/typo3/sysext/reports/Configuration/Services.yaml b/typo3/sysext/reports/Configuration/Services.yaml index 4df44ad6f3c6fa35addfc8366b8d62a95d3b4f3d..56cce078ebe3c1b83cf3ed831fd6948449e31988 100644 --- a/typo3/sysext/reports/Configuration/Services.yaml +++ b/typo3/sysext/reports/Configuration/Services.yaml @@ -9,9 +9,6 @@ services: # Tasks require EXT:scheduler to be installed, ignore for now. exclude: '../Classes/Task' - TYPO3\CMS\Reports\Report\Status\Status: - public: true - TYPO3\CMS\Reports\Registry\StatusRegistry: arguments: - !tagged_iterator reports.status diff --git a/typo3/sysext/scheduler/Classes/Domain/Repository/SchedulerTaskRepository.php b/typo3/sysext/scheduler/Classes/Domain/Repository/SchedulerTaskRepository.php index 25fcf7ebe71215383c159dbc0623ef3d23eb11b5..b18335115d07ad5b1c9c80950c2139e1129db1ef 100644 --- a/typo3/sysext/scheduler/Classes/Domain/Repository/SchedulerTaskRepository.php +++ b/typo3/sysext/scheduler/Classes/Domain/Repository/SchedulerTaskRepository.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Scheduler\Domain\Repository; use Doctrine\DBAL\Exception as DBALException; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Core\Environment; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; @@ -32,6 +33,7 @@ use TYPO3\CMS\Scheduler\Validation\Validator\TaskValidator; /** * Repository class to fetch tasks available in the systems ready to be executed */ +#[Autoconfigure(public: true)] class SchedulerTaskRepository { protected const TABLE_NAME = 'tx_scheduler_task'; diff --git a/typo3/sysext/scheduler/Configuration/Services.yaml b/typo3/sysext/scheduler/Configuration/Services.yaml index 6f901858df4663c5d31468fa296c51bec4ec3b4f..f41eec9ad5bebe63ae7fbd54d3b2d865bd8fac4e 100644 --- a/typo3/sysext/scheduler/Configuration/Services.yaml +++ b/typo3/sysext/scheduler/Configuration/Services.yaml @@ -7,9 +7,6 @@ services: TYPO3\CMS\Scheduler\: resource: '../Classes/*' - TYPO3\CMS\Scheduler\Domain\Repository\SchedulerTaskRepository: - public: true - TYPO3\CMS\Scheduler\Command\SchedulerCommand: tags: - name: 'console.command' diff --git a/typo3/sysext/seo/Classes/Canonical/CanonicalGenerator.php b/typo3/sysext/seo/Classes/Canonical/CanonicalGenerator.php index cf8a3c579241520f34de319074465e959df7fd91..0b7e0c7afc95c14527ce0ec55633314f00aa9230 100644 --- a/typo3/sysext/seo/Classes/Canonical/CanonicalGenerator.php +++ b/typo3/sysext/seo/Classes/Canonical/CanonicalGenerator.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Seo\Canonical; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Domain\Page; use TYPO3\CMS\Core\Domain\Repository\PageRepository; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -33,6 +34,7 @@ use TYPO3\CMS\Seo\Exception\CanonicalGenerationDisabledException; * * @internal this class is not part of TYPO3's Core API. */ +#[Autoconfigure(public: true)] readonly class CanonicalGenerator { public function __construct( diff --git a/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php b/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php index 2d3c2dc86fd63df23aa381650bba232cfc6daccc..3db1110ae1ca2f9ca76a03fd7fab864230a3ff56 100644 --- a/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php +++ b/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Seo\MetaTag; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Imaging\ImageManipulation\CropVariantCollection; use TYPO3\CMS\Core\MetaTag\MetaTagManagerRegistry; use TYPO3\CMS\Core\Resource\FileInterface; @@ -32,6 +33,7 @@ use TYPO3\CMS\Frontend\Resource\FileCollector; * * @internal */ +#[Autoconfigure(public: true)] readonly class MetaTagGenerator { public function __construct( diff --git a/typo3/sysext/seo/Classes/XmlSitemap/XmlSitemapRenderer.php b/typo3/sysext/seo/Classes/XmlSitemap/XmlSitemapRenderer.php index d005b7b101175778437cc3fb8dc0867daf0db35d..3850e6513ad0b90cb0783d60618e0c0fabdb94ff 100644 --- a/typo3/sysext/seo/Classes/XmlSitemap/XmlSitemapRenderer.php +++ b/typo3/sysext/seo/Classes/XmlSitemap/XmlSitemapRenderer.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Seo\XmlSitemap; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Http\PropagateResponseException; use TYPO3\CMS\Core\TypoScript\TypoScriptService; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -32,6 +33,7 @@ use TYPO3Fluid\Fluid\View\TemplateView; * * @internal this class is not part of TYPO3's Core API. */ +#[Autoconfigure(public: true)] final class XmlSitemapRenderer { public function __construct( diff --git a/typo3/sysext/seo/Configuration/Services.yaml b/typo3/sysext/seo/Configuration/Services.yaml index 38f95453bf818ebfd80f94a63b15839481391402..db392d379d32fc764fd77094bc6a77e9c92b5abb 100644 --- a/typo3/sysext/seo/Configuration/Services.yaml +++ b/typo3/sysext/seo/Configuration/Services.yaml @@ -7,15 +7,6 @@ services: TYPO3\CMS\Seo\: resource: '../Classes/*' - TYPO3\CMS\Seo\MetaTag\MetaTagGenerator: - public: true - - TYPO3\CMS\Seo\Canonical\CanonicalGenerator: - public: true - - TYPO3\CMS\Seo\XmlSitemap\XmlSitemapRenderer: - public: true - TYPO3\CMS\Seo\Widgets\Provider\PagesWithoutDescriptionDataProvider: arguments: $excludedDoktypes: [ 3, 4, 6, 7, 199, 254 ] diff --git a/typo3/sysext/webhooks/Classes/Listener/MessageListener.php b/typo3/sysext/webhooks/Classes/Listener/MessageListener.php index ea7ec257fcb8f2a09190caf6a0ae17c858d72eb7..d3f8acd53aabadee354b7ad9f51d261903c10846 100644 --- a/typo3/sysext/webhooks/Classes/Listener/MessageListener.php +++ b/typo3/sysext/webhooks/Classes/Listener/MessageListener.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Webhooks\Listener; use Psr\Log\LoggerInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\Messenger\MessageBusInterface; use TYPO3\CMS\Webhooks\Message\WebhookMessageFactory; @@ -29,6 +30,7 @@ use TYPO3\CMS\Webhooks\Message\WebhookMessageFactory; * * @internal not part of TYPO3 Core API */ +#[Autoconfigure(public: true)] class MessageListener { public function __construct( diff --git a/typo3/sysext/webhooks/Classes/Listener/PageModificationListener.php b/typo3/sysext/webhooks/Classes/Listener/PageModificationListener.php index b200846d9cc84d7db14a4a3345c6362230deaca8..f932e7a8adf4fdbb2fbc1a2201fc545d49957fb3 100644 --- a/typo3/sysext/webhooks/Classes/Listener/PageModificationListener.php +++ b/typo3/sysext/webhooks/Classes/Listener/PageModificationListener.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Webhooks\Listener; use Psr\Log\LoggerInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\Messenger\MessageBusInterface; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\DataHandling\DataHandler; @@ -34,6 +35,7 @@ use TYPO3\CMS\Webhooks\Message\PageModificationMessage; * * @internal not part of TYPO3 Core API */ +#[Autoconfigure(public: true)] class PageModificationListener { public function __construct( diff --git a/typo3/sysext/webhooks/Classes/Tca/ItemsProcFunc/WebhookTypesItemsProcFunc.php b/typo3/sysext/webhooks/Classes/Tca/ItemsProcFunc/WebhookTypesItemsProcFunc.php index 04d04528eac4cc6dab8f757e555f749b22201a1e..0c417dd384575102982a2fb77c842535b4f59406 100644 --- a/typo3/sysext/webhooks/Classes/Tca/ItemsProcFunc/WebhookTypesItemsProcFunc.php +++ b/typo3/sysext/webhooks/Classes/Tca/ItemsProcFunc/WebhookTypesItemsProcFunc.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Webhooks\Tca\ItemsProcFunc; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Core\Localization\LanguageServiceFactory; use TYPO3\CMS\Webhooks\WebhookTypesRegistry; @@ -25,6 +26,7 @@ use TYPO3\CMS\Webhooks\WebhookTypesRegistry; * * @internal not part of TYPO3's Core API */ +#[Autoconfigure(public: true)] class WebhookTypesItemsProcFunc { public function __construct( diff --git a/typo3/sysext/webhooks/Classes/WebhookTypesRegistry.php b/typo3/sysext/webhooks/Classes/WebhookTypesRegistry.php index 06b12d1130dc591dba396f8287c6fae52789b55b..c371dda8df61a91b4eca11962a8696c201c2d8de 100644 --- a/typo3/sysext/webhooks/Classes/WebhookTypesRegistry.php +++ b/typo3/sysext/webhooks/Classes/WebhookTypesRegistry.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Webhooks; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Webhooks\Model\WebhookType; /** @@ -25,6 +26,7 @@ use TYPO3\CMS\Webhooks\Model\WebhookType; * * @internal not part of TYPO3's Core API */ +#[Autoconfigure(public: true)] class WebhookTypesRegistry { /** diff --git a/typo3/sysext/webhooks/Configuration/Services.yaml b/typo3/sysext/webhooks/Configuration/Services.yaml index a9258a1f5b8bd46cccb8f655156f9622fdb13271..ca84888b364d081efa6f1284115f0f85d528bbdf 100644 --- a/typo3/sysext/webhooks/Configuration/Services.yaml +++ b/typo3/sysext/webhooks/Configuration/Services.yaml @@ -6,16 +6,3 @@ services: TYPO3\CMS\Webhooks\: resource: '../Classes/*' - - TYPO3\CMS\Webhooks\WebhookTypesRegistry: - public: true - - TYPO3\CMS\Webhooks\Listener\PageModificationListener: - public: true - - # public true is required in ajax backend calls (e.g. when adding a file) - TYPO3\CMS\Webhooks\Listener\MessageListener: - public: true - - TYPO3\CMS\Webhooks\Tca\ItemsProcFunc\WebhookTypesItemsProcFunc: - public: true diff --git a/typo3/sysext/workspaces/Classes/Controller/Remote/ActionHandler.php b/typo3/sysext/workspaces/Classes/Controller/Remote/ActionHandler.php index 03e6e1f61407a39115875e751d5f28a6d32c2659..a8b0ead6763661d4fe90421e9a0ddff8058dfd63 100644 --- a/typo3/sysext/workspaces/Classes/Controller/Remote/ActionHandler.php +++ b/typo3/sysext/workspaces/Classes/Controller/Remote/ActionHandler.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Workspaces\Controller\Remote; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Backend\View\BackendViewFactory; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; @@ -34,6 +35,7 @@ use TYPO3\CMS\Workspaces\Service\WorkspaceService; /** * @internal This is a specific Backend Controller implementation and is not considered part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class ActionHandler { public function __construct( diff --git a/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php b/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php index 35171f0626c1623c596e6414bdadd36ee041cc97..933e51385f12680c625ff7bc9c124af70dd7f20b 100644 --- a/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php +++ b/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Workspaces\Controller\Remote; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Backend\Avatar\Avatar; use TYPO3\CMS\Backend\Form\FormDataCompiler; use TYPO3\CMS\Backend\Form\FormDataGroup\TcaDatabaseRecord; @@ -51,6 +52,7 @@ use TYPO3\CMS\Workspaces\Service\WorkspaceService; /** * @internal This is a specific Backend Controller implementation and is not considered part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class RemoteServer { use LogDataTrait; diff --git a/typo3/sysext/workspaces/Classes/Hook/DataHandlerHook.php b/typo3/sysext/workspaces/Classes/Hook/DataHandlerHook.php index 626295555f67636df8efcc3a7a2adb2017657b92..dbf1b3936c67ae628d13d1a031baa49e0af9b737 100644 --- a/typo3/sysext/workspaces/Classes/Hook/DataHandlerHook.php +++ b/typo3/sysext/workspaces/Classes/Hook/DataHandlerHook.php @@ -17,6 +17,7 @@ namespace TYPO3\CMS\Workspaces\Hook; use Doctrine\DBAL\Exception as DBALException; use Psr\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\Messenger\MessageBusInterface; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; @@ -47,6 +48,7 @@ use TYPO3\CMS\Workspaces\Service\WorkspaceService; * to interact with the TYPO3 Core Engine * @internal This is a specific hook implementation and is not considered part of the Public TYPO3 API. */ +#[Autoconfigure(public: true)] class DataHandlerHook { /** diff --git a/typo3/sysext/workspaces/Classes/Notification/StageChangeNotification.php b/typo3/sysext/workspaces/Classes/Notification/StageChangeNotification.php index 165e35c8ff84d94e12ba01bdac27bad076c535f2..c7bdee47bd8e6acf818e13d9bc40ff15ee558e10 100644 --- a/typo3/sysext/workspaces/Classes/Notification/StageChangeNotification.php +++ b/typo3/sysext/workspaces/Classes/Notification/StageChangeNotification.php @@ -20,6 +20,7 @@ namespace TYPO3\CMS\Workspaces\Notification; use Psr\Http\Message\ServerRequestInterface; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use Symfony\Component\Mailer\Exception\TransportException; use Symfony\Component\Mime\Address; use Symfony\Component\Mime\Exception\RfcComplianceException; @@ -39,6 +40,7 @@ use TYPO3\CMS\Workspaces\Service\StagesService; * * @internal This is a concrete implementation of sending out emails, and not part of the public TYPO3 Core API */ +#[Autoconfigure(public: true)] class StageChangeNotification implements LoggerAwareInterface { use LoggerAwareTrait; diff --git a/typo3/sysext/workspaces/Classes/Preview/PreviewUriBuilder.php b/typo3/sysext/workspaces/Classes/Preview/PreviewUriBuilder.php index 4de2f5423043dcd66439d09f0b49a4f45eea89fe..b4dcce013e09227ceca4ac94d9f81d75a1d84977 100644 --- a/typo3/sysext/workspaces/Classes/Preview/PreviewUriBuilder.php +++ b/typo3/sysext/workspaces/Classes/Preview/PreviewUriBuilder.php @@ -19,6 +19,7 @@ namespace TYPO3\CMS\Workspaces\Preview; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\UriInterface; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider; use TYPO3\CMS\Backend\Routing\PreviewUriBuilder as BackendPreviewUriBuilder; use TYPO3\CMS\Backend\Routing\UriBuilder; @@ -43,6 +44,7 @@ use TYPO3\CMS\Workspaces\Service\WorkspaceService; * * @internal */ +#[Autoconfigure(public: true)] class PreviewUriBuilder { /** diff --git a/typo3/sysext/workspaces/Classes/Service/GridDataService.php b/typo3/sysext/workspaces/Classes/Service/GridDataService.php index 3684c27fc0c58e06ca086436e8d216db5c3a11d0..d7d8b27798fb5dc33344c05bb1a838050f163e1d 100644 --- a/typo3/sysext/workspaces/Classes/Service/GridDataService.php +++ b/typo3/sysext/workspaces/Classes/Service/GridDataService.php @@ -21,6 +21,7 @@ use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider; use TYPO3\CMS\Backend\Module\ModuleProvider; use TYPO3\CMS\Backend\Utility\BackendUtility; @@ -44,6 +45,7 @@ use TYPO3\CMS\Workspaces\Service\Dependency\CollectionService; /** * @internal */ +#[Autoconfigure(public: true)] class GridDataService implements LoggerAwareInterface { use LoggerAwareTrait; diff --git a/typo3/sysext/workspaces/Configuration/Services.yaml b/typo3/sysext/workspaces/Configuration/Services.yaml index 701b188a78490632b9d693382d213544870f2011..b57309b0ac53be448d66594ee1c3ef770841d101 100644 --- a/typo3/sysext/workspaces/Configuration/Services.yaml +++ b/typo3/sysext/workspaces/Configuration/Services.yaml @@ -12,24 +12,6 @@ services: factory: ['@TYPO3\CMS\Core\Cache\CacheManager', 'getCache'] arguments: ['workspaces_cache'] - TYPO3\CMS\Workspaces\Controller\Remote\RemoteServer: - public: true - - TYPO3\CMS\Workspaces\Notification\StageChangeNotification: - public: true - - TYPO3\CMS\Workspaces\Preview\PreviewUriBuilder: - public: true - - TYPO3\CMS\Workspaces\Service\GridDataService: - public: true - TYPO3\CMS\Workspaces\Service\WorkspaceService: public: true shared: true - - TYPO3\CMS\Workspaces\Controller\Remote\ActionHandler: - public: true - - TYPO3\CMS\Workspaces\Hook\DataHandlerHook: - public: true