producerService ProducerService */ $this->producerService = $producerService; } /** * @return array */ public function getSubscribedEvents() { return array( DoctrineEvents::PRE_PERSIST, DoctrineEvents::POST_PERSIST, DoctrineEvents::PRE_UPDATE, DoctrineEvents::POST_UPDATE, DoctrineEvents::PRE_REMOVE, DoctrineEvents::POST_REMOVE, ); } /** * @param LifecycleEventArgs $args */ public function prePersist(LifecycleEventArgs $args) { $this->execute($args, DoctrineEvents::PRE_PERSIST); } /** * @param LifecycleEventArgs $args */ public function postPersist(LifecycleEventArgs $args) { $this->execute($args, DoctrineEvents::POST_PERSIST); } /** * @param LifecycleEventArgs $args */ public function preUpdate(LifecycleEventArgs $args) { $this->execute($args, DoctrineEvents::PRE_UPDATE); } /** * @param LifecycleEventArgs $args */ public function postUpdate(LifecycleEventArgs $args) { $this->execute($args, DoctrineEvents::POST_UPDATE); } /** * @param LifecycleEventArgs $args */ public function preRemove(LifecycleEventArgs $args) { $this->execute($args, DoctrineEvents::PRE_REMOVE); } /** * @param LifecycleEventArgs $args */ public function postRemove(LifecycleEventArgs $args) { $this->execute($args, DoctrineEvents::POST_REMOVE); } /** * @param LifecycleEventArgs $args * @param string $eventName */ public function execute(LifecycleEventArgs $args, $eventName = DoctrineEvents::PRE_PERSIST) { $this->producerService->execute($args->getEntity(), $eventName); } }