/** * @param object $resource * * @return object|ResourceEvent|null */ public function delete($resource) { $eventName = $this->config->getEvent('delete'); $event = $this->dispatchEvent(sprintf('pre_%s', $eventName), new ResourceEvent($resource)); if ($event->isStopped()) { if (null !== $this->flashHelper) { $this->flashHelper->setFlash($event->getMessageType(), $event->getMessage(), $event->getMessageParameters()); } return $event; } $this->manager->remove($resource); $this->manager->flush(); if (null !== $this->flashHelper) { $this->flashHelper->setFlash('success', 'delete'); } $this->dispatchEvent(sprintf('post_%s', $eventName), new ResourceEvent($resource)); return $resource; }