OPUS4 / opus4-common

Core package for OPUS 4.
Other
0 stars 5 forks source link

EventManager implementieren #52

Open j3nsch opened 2 years ago

j3nsch commented 2 years ago

Der EventManager soll dazu dienen LifecycleEvents von Model-Klassen an Listener weiter zu leiten. Die Listener sollen die Plugins im Framework ersetzen. Das soll im ersten Schritt dazu dienen den DOI-Code aus dem Framework heraus zu lösen.

Die Model-Klassen holen sich den EventManager und geben Events an ihn weiter. Listener registrieren sich mit dem EventManager, der Events an die Listener weiter leitet. Listener sollten sich für bestimmte Modelklassen und evtl. auch Events registrieren können, um die Zahl der zu verarbeitenden Events zu reduzieren.

Die Funktionalität ist dem EventManager in Doctrine ähnlich. Evtl. wird es später Sinn machen Doctrine für die Umsetzung einzusetzen, aber das steht noch nicht fest.

j3nsch commented 2 years ago

Für das Handling von Events sollte die Symfony-Klasse EventDispatcher verwendet werden, anstatt eine eigene Implementation zu schaffen. Das ist anscheinend auch die Grundlage für das Event-Handling in Doctrine.