zetacomponents/signal-slot
zetacomponents/signal-slot provides a lightweight signal/slot implementation for PHP. Connect callbacks to named signals and emit them to decouple components, enabling clean event-driven code without heavy dependencies.
Illuminate\Events\Dispatcher, listeners, subscribers, queued listeners, broadcasting). Introducing SignalSlot means running a second, competing event bus in the same process, which is the primary architectural objection and the main source of long-term drift.composer require against Laravel 10/11 on PHP 8.2+ will likely fail on platform requirements or on runtime deprecations. Realistic adoption requires a fork with updated composer.json, PSR-4 autoloading, and PHP 8 cleanup.TPM position: do not adopt for new development. Leverage only as a narrow anti-corruption layer in front of legacy eZ/Zeta code, with a documented retirement date.
ezcSignalSlot* namespaces directly.EventBus interface (or an implementation of Illuminate\Contracts\Events\Dispatcher that delegates to SignalSlot). Migrate handlers in waves: mirror each signal to a Laravel event, dual-run both paths in staging, then delete the legacy signal once the last slot is ported. If greenfield, skip the dependency entirely and reimplement the few semantics needed as Laravel listeners — that is a days-scale task, not a months-scale one.require.php, autoload type, and namespace casing in composer.json. Expect to vendor a fork with a pinned tag; never depend on dev-master from the upstream repository. Confirm no collision with symfony/event-dispatcher, which Laravel pulls transitively and which exposes similar concepts under different semantics.Recommendation: leverage as a thin, forked compatibility shim only where legacy Signals already exist, gated on license clearance and an owner; otherwise standardize on Laravel's native event system and close the evaluation.
How can I help you explore Laravel packages today?