Lifecycle Callbacks vs. Event Listeners
Doctrine ORM bietet zwei grundlegend verschiedene Wege, auf Datenbankoperationen zu reagieren: Lifecycle Callbacks direkt in der Entity und Doctrine Event Listeners als eigenständige Services. Beide lösen dasselbe Problem, aber mit unterschiedlicher Architektur, Testbarkeit und Abhängigkeitsverwaltung.
Inhaltsverzeichnis
- 1. Doctrine Events — Überblick und verfügbare Hooks
- 2. Lifecycle Callbacks: Events direkt in der Entity
- 3. Grenzen von Lifecycle Callbacks
- 4. Doctrine Event Listeners als Services
- 5. Doctrine Event Subscriber: Ein Listener, mehrere Events
- 6. Entity Listeners: Der goldene Mittelweg
- 7. postFlush und das Problem des Nested-Flush
- 8. Doctrine Events testen
- 9. Vergleich: Alle drei Ansätze auf einen Blick
- 10. Zusammenfassung