# symfony/event-dispatcher

Provides tools that allow your application components to communicate with each other by dispatching events and listening to them

Repository: https://github.com/symfony/event-dispatcher
Canonical: https://ross.abutalabs.com/products/event-dispatcher
Homepage: https://symfony.com/event-dispatcher
Language: PHP
License: MIT
License Family: permissive
Topics: php, symfony, component, symfony-component
Last push: 2026-08-22T13:46:53+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 99, longevity 100
- inputs: {"age_days": 5671, "days_push": 11, "days_rel": 11, "gap_med": 0.0, "n_releases_24m": 33}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 8532, forks 66 (observed 2026-08-28T04:10:23.355732+00:00)

## What it is
The Symfony EventDispatcher component implements the Mediator and Observer patterns, letting application components communicate by dispatching events and registering listeners or subscribers. It works standalone in any PHP application or as part of the Symfony framework.

## Use cases
- decouple application components with events in php
- dispatch custom events when an order is placed
- add event listeners without modifying existing code
- implement observer pattern in php
- hook into framework lifecycle events like kernel.request
- build extensible plugin systems in php

## When to choose
- you need loose coupling between parts of a PHP application
- you want to extend behavior without inheritance or editing existing code
- you are building a Symfony app or using Symfony components
- you need a battle-tested event system with subscriber support and debugging tools

## When to avoid
- you need asynchronous or persistent message queuing across services rather than in-process events
- your project is not PHP
- you need a full pub/sub broker for distributed systems

## Facets
- artifact type: library
- maturity: stable
- function: middleware, plugin-system, developer-tools
- domain: web-development, backend, developer-tools
- platform: php, cross-platform
- tags: event-dispatcher, observer-pattern, mediator-pattern, pub-sub, symfony-component, event-listeners, decoupling, php

## Member repositories
- symfony/event-dispatcher (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:23.355732+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:26:21.644112+00:00, confidence not recorded.
  - readme: https://github.com/symfony/event-dispatcher (fetched 2026-08-28T04:10:23.355732+00:00, sha cfcfa1c3ffe4)
  - homepage: https://symfony.com/event-dispatcher (fetched 2026-08-29T08:26:48.286761+00:00, sha 69bbde17d54a)
  - site_page: https://symfony.com/doc (fetched 2026-08-29T08:26:48.295707+00:00, sha 44889134f4fb)
  - site_page: https://symfony.com/doc/current/components/event_dispatcher.html (fetched 2026-08-29T08:26:48.297766+00:00, sha 23f09513dd25)
  - site_page: https://symfony.com/projects/phpmyfaq (fetched 2026-08-29T08:26:48.300487+00:00, sha e9c38f954f59)
  - site_page: https://symfony.com/releases (fetched 2026-08-29T08:26:48.302204+00:00, sha f109a7a4a5da)
  - site_page: https://symfony.com/blog/category/releases (fetched 2026-08-29T08:26:48.304282+00:00, sha 373d532304d3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
