Контроллер Роутера. В нем есть множество методов и если в каком то методе ошибка, необходимо остановить процесс и вывести ошибку в определенном формате, выполнение же код остановить.
Как Вы поступаете?
Пример на скриншоте. Как Вы бы поступили?
http://joxi.ru/zANJVBLcjdpePA
эксепшоны?
Оборачиваешь код в try-catch, если что-то идёт в коде не так - инициируешь ошибки, в catch отлавливаешь и обрабатываешь
ну это не совсем ошибки кода, это ошибки работы кода..ну к примеру нет данных определенных или настроек или чего нить еще.
Ты в эксепшоне хоть жопу голую рисуй https://laravel.com/docs/8.x/errors#the-exception-handler
На каждую ошибку - свой эксепшон
И я так понимаю вывод сам разместить здесь app/Exceptions/Handler.php Верно ?
или все же лучше расширять и свой создать и файл? php artisan make:exception Exceptions --render
hanlder - обработчик ошибок, а исключений в ларавеле есть великое множество
ну в общем направление верно))
эксепшон кидать?
+
что плюс то, кидай экспешон, лови его, отдавай в фронт что-то (не само сообщение) сам эксепшон сохрани на всякий случай(рекомендую это делать) а код контроллера можешь вывести в сервис, а вместо кода ловить эксепшоны это то как я делаю
и лучше, все обернуть в транзакции если данные должны быть чистыми (ну они должы быть таковыми)
я делаю так: 1. Создал кастомный экшен, расширил стандартный. 2. Переопределили конструктор, добавил возможность декодирования json 3. В кастомном экшене сделал разные обработкики ответов. 4. Добавил в handler главного экшена проверку на вызов моего кастомного 5. во всех местах где пошло что то не так просто вызиваю кастомные экшен и передаю туда массив параметров - в итоге получаю на выход JSON ответ.
если в коде обрабатываются какие-то физические данные(например файлы) то они должны быть возвращены в прежнее состояние. Объекты, массивы и прочие данные должны быть возвращены(или удалены) в прежнее состояние чтобы не засорять память
Обсуждают сегодня