Za prvé nemusíte tohoto krále logiky sami implementovat. Doctrine interně sleduje vkládání entit, aktualizace, změny a mazání polí a vytváří odpovídající události, které si můžete poslechnout. Například, když vytvoříte nové Info
entitu a přetrvá ji, Doctrine odešle prePersist
událost, když zavoláte flush
úkon. Můžete vytvořit předplatitele události, který se bude u takových událostí přihlašovat, a provést tam svou logiku.
Chcete-li plně porozumět událostem životního cyklu Doctrine, podívejte se na oficiální dokumentaci doktríny:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html
Vytvoření odběratele události popsané v dokumentaci Symfony:http://symfony.com/doc/current/doctrine/event_listeners_subscribers.html#creating-the-subscriber-class
Můžete také vyzkoušet existující balíček třetí strany, který bude protokolovat vkládání, aktualizace a mazání entit:https://github .com/simplethings/EntityAuditBundle Podporuje také verzování.