@ozornick

Symfony: Как обрабатывать уведомления от сервиса?

Есть сервис. В нем некоторые действия. Для большего понимания сервис можно вызывать в разных средах (api, html страница, может консоль). Как вы сохраняете уведомления и результат операции?
public function createItem($data, $em, $user)
    {
        $error = [];
        if (!$data) {
            // Раньше я делал так
            $error[] = 'Нет данных';
        }

        // Тут можно учитывать предыдущие ошибки или нет
        if ($data['name'] === null) {
            $error[] = 'Имя не введено';
            if ($data['amount'] > $user->getBalance()) {
                $error[] = 'Недостаточно денег';
            }
            // ...
        }

        // Тут сложность возникла:
        // С одной стороны сервис должен вернуть точный результат true/false
        // С другой надо получить ошибки, если хочется выдать flash messages
        // или для api вернуть json с ошибкой
        if (!$error) {
            $em->persist(new Item($data));
            $em->flush();

            return true;
        }

        return false;
    }

// в контроллере
function add() {
    $service->addItem($data)
}
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы