Как отловить исключения в сущности?

У меня есть метод в моей сущности с @ORM \ PostRemove (), который удаляет связанный файл.

Интересно, я должен сделать что-то вроде этого:

try {
unlink($file);
} catch (\Exception $e) {
// Nothing here?
}

Имеет ли смысл перехватывать исключение и ничего не делать в блоке catch? Или, может быть, я не должен ловить исключение здесь, но тогда, где я должен это сделать? Должно ли это быть исключением из метода LifecycleCallback?
я прочел Вот что я не должен использовать регистратор в сущности, так что я не понимаю, что вместо этого поместить.

0

Решение

Ваша сущность не должна содержать бизнес-логику для вашего приложения, ее цель — сопоставить объекты с записями базы данных.

Способ решения этой проблемы зависит от приложения, например, если у вас есть File Controller и команда removeAction, тогда лучшее место для удаления файла, скорее всего, здесь.

Как пример: (псевдо код)

public function removeAction($id) {
$em = $this->getDoctrine()->getEntityManager();
$file = $em->getRepository('FileBundle:File')->find($id);

if (!$file) {
throw $this->createNotFoundException('No file found for id '.$id);
}

$filePath = $file->getPath();
if (file_exists($filePath) {
try {
unlink($filePath);
}
catch(Exception $e) {
// log it / email developers etc
}
}

$em->remove($file);
$em->flush();
}

Вы всегда должны добавлять проверку ошибок и отчеты в свое приложение, проверять, существует ли файл, прежде чем пытаться удалить его.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector