[TASK] Deprecate Extbase's SignalSlot Dispatcher
Extbase's SignalSlot Dispatcher has had its good run - it served as a possible successor instead of Hooks but lacked a good standardized API for stopping propagation, and defining interfaces for slots. The new PSR-14 based event system has superseded SignalSlot logic from Extbase. Everybody is encouraged to not use Signal Slot logic anymore. TYPO3 Core does not use SignalSlots anymore, and the SignalSlot Dispatcher will be removed in TYPO3 v11.0 - and is therefore annotated as deprecated. Several advantages of PSR-14 over Signal Slot logic defined here again: - PSR-14 has a stoppable interface so event listeners can define that an event should not propagate anymore. - PSR-14 events are pure and plain PHP classes so it is VERY clear what can be read or modified. - TYPO3's implementation is fully compatible with other frameworks PSR-14 event-based system, so everything can be developed against the interface, not a concrete implementation (thanks to DI), and TYPO3 can exchange its own implementation against a different one. - All available listeners are registered during "DI-build-time" and not in ext-localconf.php anymore which can have an impact on performance. Please note that using SignalSlot Dispatcher will not trigger a deprecation warning as it is still used throughout many extensions. Resolves: #90625 Releases: master Change-Id: I09764b5056777fd3673a9e158762c9d5a9182997 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63099 Tested-by:Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Susanne Moog <look@susi.dev>
Showing
- typo3/sysext/core/Documentation/Changelog/master/Deprecation-90625-ExtbaseSignalSlotDispatcher.rst 60 additions, 0 deletions.../master/Deprecation-90625-ExtbaseSignalSlotDispatcher.rst
- typo3/sysext/extbase/Classes/SignalSlot/Dispatcher.php 2 additions, 0 deletionstypo3/sysext/extbase/Classes/SignalSlot/Dispatcher.php
- typo3/sysext/extbase/Tests/UnitDeprecated/SignalSlot/DispatcherTest.php 3 additions, 3 deletions...xtbase/Tests/UnitDeprecated/SignalSlot/DispatcherTest.php
- typo3/sysext/extbase/Tests/UnitDeprecated/SignalSlot/Fixtures/OnlyClassNameSpecifiedFixture.php 1 addition, 1 deletion...ted/SignalSlot/Fixtures/OnlyClassNameSpecifiedFixture.php
- typo3/sysext/extbase/Tests/UnitDeprecated/SignalSlot/Fixtures/SlotMethodDoesNotExistFixture.php 1 addition, 1 deletion...ted/SignalSlot/Fixtures/SlotMethodDoesNotExistFixture.php
- typo3/sysext/install/Configuration/ExtensionScanner/Php/ClassNameMatcher.php 5 additions, 0 deletions...l/Configuration/ExtensionScanner/Php/ClassNameMatcher.php
Please register or sign in to comment