Allereerst hoeft u deze koning der logica niet zelf te implementeren. Doctrine houdt het invoegen van entiteiten, updates, veldwijzigingen en verwijderingen intern bij en creëert overeenkomstige gebeurtenissen waarnaar u kunt luisteren. Wanneer u bijvoorbeeld nieuwe Info
. aanmaakt entiteit en volhardt, zal Doctrine prePersist
. verzenden gebeurtenis wanneer u flush
aanroept operatie. Je zou een evenementabonnee kunnen maken om je op dergelijke evenementen te abonneren en daar je logica te doen.
Om de levenscyclusgebeurtenissen van de Doctrine volledig te begrijpen, bekijk de officiële doctrinedocumentatie:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html
Aanmaken van evenementabonnees beschreven in de Symfony-documentatie:http://symfony.com/doc/current/doctrine/event_listeners_subscribers.html#creating-the-subscriber-class
U kunt ook een bestaande bundel van derden uitproberen die toevoegingen, updates en verwijderingen van entiteiten registreert:https://github .com/simplethings/EntityAuditBundle Het ondersteunt ook versiebeheer.