connection = $connection; $this->configuration = $configuration; $this->timestampListener = $timestampListener; $this->validationListener = $validationListener; } public function createEntityManager() { $entityManager = EntityManager::create($this->connection, $this->configuration); $this->setupListeners($entityManager); if (class_exists(Debugger::class)) { DoctrinePanel::init($entityManager); } return $entityManager; } private function setupListeners(EntityManager $entityManager) { $entityManager->getEventManager()->addEventListener( [Events::prePersist, Events::preUpdate], $this->timestampListener ); $entityManager->getEventManager()->addEventListener( [Events::onFlush], $this->validationListener ); } }