Skip to content
Snippets Groups Projects
Commit bdd8d12a authored by Benni Mack's avatar Benni Mack Committed by Susanne Moog
Browse files

[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: default avatarDaniel Goerz <daniel.goerz@posteo.de>
Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: default avatarSusanne Moog <look@susi.dev>
Reviewed-by: default avatarDaniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: default avatarSusanne Moog <look@susi.dev>
parent 78b92c0a
Branches
Tags
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment