Мне интересно, куда мне бросить, поймать исключение в моем приложении Zend Framework + Doctrine 2.
Вот мой дизайн:
База данных - MySQL> ORM (Doctrine2)>Сервис> Контроллер
My Service принимает служебный объект в качестве аргумента и возвращает объект ответа службы почти для всех методов.
Ответ службы возвращает состояние, сообщения и данные, которые могут быть любыми.
Мои контроллеры используют эти сервисы.
Мне интересно, куда я должен выбросить свое исключение.
Пример:
public function getAllMembers(ServiceObject $data)
{
// do some mapping with $data
$users = $userRepository->getAllMembers($data);
$response = new ServiceResponse('success');
$response->setData($users);
return $response;
}
Должен ли я проверить параметрыв моем Сервисе, а затем выдать исключение, которое может перехватить мой контроллер, или мне следует добавить, скажем, мой репозиторий для этого примера, и перехватить в моем сервисе, чтобы я мог вернуть ServiceResponse со статусом ошибки?
Есть ли какие-либо отзывы об этой архитектуре?