Когда задаёте вопрос "как из одних данных получить другие", нужно указать не только исходные данные, но и желаемый результат - это проще, чем из описания пытаться угадать детали.
Когда задаёте вопрос "как из одних данных получить другие", нужно указать не только исходные данные, но и желаемый результат - это проще, чем из описания пытаться угадать детали.
Ок, давайте заменим "не умер" на "не испытывает неудобств". От спагетти, синглтонов и магических констант они есть, а от исключений в валидации я неудобств не получал.
Зато в контроллерах появляется много дублирования кода обработки ошибок валидации.
Оба варианта имеют право на жизнь, Laravel как-то пока не умер, кидая исключения. Всё сказанное вами верно, но для такого базового функционала подход Laravel мне кажется приемлемым на практике.
Ничего странного — волшебных сил электричества не существует и проблема всегда в коде. Проблемы с таймзоной это одно, а вот «замороженных» минут просто быть не может.