Учебники

FuelPHP — Обработка ошибок и отладка

FuelPHP обеспечивает отличную поддержку для обработки ошибок и отладки приложения. Давайте разберемся с обработкой и отладкой ошибок в этой главе.

Обработка ошибок

Обработка ошибок FuelPHP основана на исключениях. FuelPHP предоставляет исключение PhpErrorException для всех старых ошибок php. FuelPHP вызывает PhpErrorException при возникновении ошибки в коде PHP. FuelPHP также позволяет легко отображать пользовательские страницы ошибок для различных кодов состояния HTTP.

Ошибка файла не найдена

FuelPHP предоставляет новый класс исключений, HttpNotFoundException для обработки неизвестных запросов. Иногда мы можем столкнуться с запросом, который не может быть обработан. В это время мы можем просто сгенерировать исключение HttpNotFoundException.

По умолчанию страница по умолчанию настроена для исключения HttpNotFoundException в файле конфигурации маршрутов fuel / app / config / rout.php с использованием 400 записей. Всякий раз, когда возникает HttpNotFoundException, запрос перенаправляется на страницу 400.

'_404_'   => 'welcome/404',    // The main 404 route 

Внутренние ошибки

FuelPHP предоставляет новый класс исключений HttpServerErrorException для обработки всех ошибок сервера. Иногда мы не можем обработать данный запрос из-за внутренних ошибок. В это время мы можем просто сгенерировать исключение HttpServerErrorException.

По умолчанию страница по умолчанию настроена для исключения HttpServerErrorException в файле конфигурации маршрутов fuel / app / config / rout.php с использованием 500 записей. Всякий раз, когда возникает HttpServerErrorException, запрос перенаправляется на страницу 500.

'_500_'   => 'welcome/500',    // The main 500 route

Эта страница будет регистрировать ошибку, показывать отформатированную ошибку на странице и иногда отправлять уведомление системному администратору.

Нарушения прав доступа

FuelPHP предоставляет новый класс исключений, HttpNoAccessException для обработки нарушений доступа. Иногда мы не можем обработать запрос из-за ограничения доступа. В это время мы можем просто выбросить HttpNoAccessException.

По умолчанию страница по умолчанию настроена для исключения HttpNoAccessException в файле конфигурации маршрутов fuel / app / config / rout.php, используя запись 403. Всякий раз, когда HttpNoAccessException повышается, запрос будет перенаправлен на страницу 403.

'_403_'   => 'welcome/403',     // The main 403 route 

Эта страница покажет информацию о нарушении прав доступа.

отладка

Отладка является одним из самых частых действий при разработке приложения. FuelPHP предоставляет простой класс Debug для обработки действий по отладке приложения. Давайте изучим класс Debug и его методы в этой главе.

Класс отладки

Класс Debug предоставляет служебные методы для отображения подробной информации о переменных, объектах, массиве и т. Д. Класс Debug предоставляет следующие методы:

свалка

Метод dump возвращает браузеру несколько смешанных значений в форматированном структурированном виде.

Debug::dump($var1, $var2);

трассировка ()

backtrace показывает подробную информацию о текущем выполнении кода. Он показывает информацию о файле PHP, текущую строку и все предыдущие действия.

Debug::backtrace();

классы ()

Возвращает список всех классов.

Debug::classes(); 

интерфейсы ()

Возвращает список всех классов интерфейса.

Debug::interfaces(); 

включает в себя()

Возвращает список всех включенных файлов, загруженных в данный момент во время выполнения.

Debug::includes();

функции ()

Возвращает список всех функций.

Debug::functions(); 

константы ()

Возвращает список всех констант.

Debug::constants();

расширения ()

Возвращает список всех расширений.

Debug::extensions();

Заголовки ()

Возвращает список всех заголовков HTTP.

Debug::headers(); 

phpini ()

Распечатывает список параметров конфигурации, считанных из файла php.ini.