doctrine/event-manager
63.7
Adequate · 19 September 2026
231
lines of production code
PHP
primary language
1
measurement over time
What this system is
This system is a PHP library that provides a structured event management system, featuring interfaces for dispatching, introspection, and listener registration. It replaces legacy Doctrine 1.x code with a modern implementation requiring PHP 8.1 and includes comprehensive unit tests for its core functionality.
Features
Introduce new event system interfaces and implementation
The library now provides a structured event system consisting of new interfaces (EventDispatcher, EventListenerIntrospector, EventListenerRegistry, EventSubscriberRegistry, EventManagerInterface) and a concrete EventManager implementation, along with an EventArgs base class. This allows users to type-hint against specific capabilities (dispatching, introspection, registration) and register listeners or subscribers via the new API.
src · high confidence
Removals
Obsolete Doctrine 1.x manual code samples removed
The manual/codes directory has been cleared of all PHP code examples that demonstrated the legacy Doctrine 1.x API (including classes like Doctrine\_Manager, Doctrine\_Session, Doctrine\_Record, and Doctrine\_Collection). These files are now deleted, meaning the manual no longer provides copy-pasteable code snippets for these outdated components.
manual/codes · high confidence
Behavioural changes
License changed to MIT and event listener API made stricter
The project license has been updated from LGPL to MIT. Additionally, the Event Manager's API behavior has changed: calling \EventManager::getListeners()\ now requires an event name argument, and a new \getAllListeners()\ method has been introduced to retrieve listeners for all events, ensuring more explicit event handling.
(repo-wide) · high confidence
Test coverage
Added unit tests for EventManager
Added a new test suite for the EventManager class, covering listener and subscriber registration, event dispatching, and removal of listeners and subscribers.
tests · high confidence
Dependencies
Doctrine Event Manager requires PHP 8.1 and updates development dependencies
The Doctrine Event Manager library now requires PHP 8.1 or higher, dropping support for older PHP versions. Development tooling has been updated to use PHPUnit 10.5.58, PHPStan 2.1.32, and Doctrine Coding Standard 14. Additionally, the project now includes a separate composer.json for documentation building, requiring the doctrine/docs-builder package.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 64.
Lenses
- Code Health 100
- Architecture 69
- Maturity 52
- Readiness 73
- Security 77
Changes since last survey
- 300 commits — 274 feature/other, 26 fixes
By area
- (repo) — 141 commits
- (root) — 55 commits
- .github/workflows — 40 commits
- tests/Doctrine — 24 commits
- lib/Doctrine — 23 commits
- lib/vendor — 6 commits
- docs/en — 4 commits
- src/EventManager.php — 3 commits
- .github/dependabot.yml — 2 commits
- .github/FUNDING.yml — 1 commit
- src/EventDispatcher.php — 1 commit
Notable commits
- fix: Apply automatic CS fixes
- fix: Apply manual CS fixes
- fix: Fix Doctrine Common Version
- fix: Fix Next version
- fix: Fix Testsuite to work with Git
- fix: Fix Testsuite to work with Git
- fix: Fix homepage link
- fix: Fix non-static assertion call
- fix: Fix return type docblock for dispatchEvent
- fix: Fixed Error due to merging tests/Doctrine/Tests/TestInit.php file
- fix: Fixed UnitOfWork and isRollbackOnly flag.
- fix: Fixed documentation.
- fix: Fixed testsuite after CLI refactorings, Removed Symfony YAML Autoloader Hack
- fix: Merge branch 'hotfix/#384-correct-directory-to-namespace-conversion-in-file-locators'
- fix: Merge pull request #11 from Majkl578/fix-homepage
- fix: Merge pull request #206 from Slamdunk/hotfix/debug-export-arrayiterator
- fix: Merge pull request #216 from Ocramius/hotfix/silent-autoloaders
- fix: Merge pull request #792 from ostrolucky/fix-139
- fix: Merge pull request #802 from ostrolucky/fix-386
- fix: Revert "Reverted - part 2."
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
doctrine/event-manager was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 10dcde34de6e8c8b8e9bdcd0d43d6de533c38241 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.