@gelirgwenn

Как правильно организовать сбор и вывод ошибок в приложении?

Здравствуйте, интересует реализация коллекционирования ошибок в приложении.
Если есть одиночная ошибка, то можно бросить исключение или вызывать trigger_error, что очень удобно. Но у меня есть другая проблема: что, если мне нужно собрать несколько ошибок и только потом вывести их пользователю. Яркий пример - проверка HTML формы:
if ( !isset($argums["mode"])){
    // Error - mode is required
    $this->errors[] = "Error: ...";
}

if ( !isset($argums["format"])){
    // Error - format is required
    $this->errors[] = "Error: ...";
}

if ($this->errors)
{
    // Output failure
    echo implode(", ", $this->errors);
}

Но есть и другие алгоритмы, требующие сбора нескольких сообщений об ошибках и вывода их в определенном месте скрипта. Может кто-нибудь знает некое решение стека ошибок с функцией добавления/извлечения/очистки сообщений. Или подскажете идеи для реализации?
У самого были мысли создать статический класс SystemError, чтобы, не создавая экземпляр класса, собирать ошибки, а потом их выводить.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
@VitaliyBorys
Создайте класс валидации данных request, в которых будете собирать ошибки. То есть при обработке формы, пропишите правила валидации.
В классе валидации опишите метод hasErrors(){} , которые вернет true, в случаи если есть ошибки, и метод errors(), которые вернет массив ошибок.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы