Przede wszystkim nie musisz sam implementować tego króla logiki. Doctrine śledzi wewnętrznie wstawienia, aktualizacje, zmiany i usunięcia encji oraz tworzy odpowiednie zdarzenia, których możesz nasłuchiwać. Na przykład, gdy tworzysz nowe Info
i utrwalić ją, Doctrine wyśle prePersist
zdarzenie po wywołaniu flush
operacja. Możesz utworzyć subskrybenta wydarzeń, aby subskrybować takie wydarzenia i robić tam swoją logikę.
Aby w pełni zrozumieć wydarzenia cyklu życia Doctrine, zapoznaj się z oficjalną dokumentacją doktryny:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html
Tworzenie subskrybentów zdarzeń opisane w dokumentacji Symfony:http://symfony.com/doc/current/doctrine/event_listeners_subscribers.html#creating-the-subscriber-class
Możesz również wypróbować istniejący pakiet innej firmy, który będzie rejestrował wstawianie, aktualizacje i usuwanie encji:https://github .com/simplethings/EntityAuditBundle Obsługuje również wersjonowanie.