FuelPHP - Manejo de errores y depuración

FuelPHP proporciona un excelente soporte para manejar los errores y depurar la aplicación. Comprendamos el manejo y la depuración de errores en este capítulo.

Manejo de errores

El manejo de errores de FuelPHP se basa en excepciones. FuelPHP proporciona la excepción PhpErrorException para todos los errores de php antiguos. FuelPHP genera PhpErrorException cada vez que se encuentra un error en el código PHP. FuelPHP también facilita la visualización de páginas de error personalizadas para varios códigos de estado HTTP.

Error de archivo no encontrado

FuelPHP proporciona una nueva clase de excepción, HttpNotFoundException para manejar las solicitudes desconocidas. A veces, podemos encontrar la solicitud que no se puede manejar. En ese momento, podemos lanzar la excepción HttpNotFoundException.

De forma predeterminada, se configura una página predeterminada para HttpNotFoundException en el archivo de configuración de rutas, fuel / app / config / routes.php usando la entrada 400. Cada vez que se genera HttpNotFoundException, la solicitud se redirigirá a la página 400.

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

Errores internos

FuelPHP proporciona una nueva clase de excepción, HttpServerErrorException para manejar todos los errores del servidor. A veces, es posible que no podamos procesar la solicitud dada debido a errores internos. En ese momento, podemos lanzar la excepción HttpServerErrorException.

De forma predeterminada, se configura una página predeterminada para HttpServerErrorException en el archivo de configuración de rutas, fuel / app / config / routes.php usando la entrada 500. Siempre que se genere HttpServerErrorException, la solicitud se redirigirá a la página 500.

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

Esta página registrará el error, mostrará el error formateado en la página y ocasionalmente enviará una notificación al administrador del sistema.

Errores de infracción de acceso

FuelPHP proporciona una nueva clase de excepción, HttpNoAccessException para manejar las violaciones de acceso. A veces, es posible que no podamos procesar la solicitud debido a restricciones de acceso. En ese momento, podemos lanzar la excepción HttpNoAccessException.

De forma predeterminada, se configura una página predeterminada para HttpNoAccessException en el archivo de configuración de rutas, fuel / app / config / routes.php usando la entrada 403. Siempre que se genere HttpNoAccessException, la solicitud se redirigirá a la página 403.

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

Esta página mostrará la información sobre la infracción de acceso.

Depuración

La depuración es una de las actividades más frecuentes en el desarrollo de una aplicación. FuelPHP proporciona una clase simple,Debugpara manejar la actividad de depuración de la aplicación. Aprendamos la clase Debug y sus métodos en este capítulo.

Clase de depuración

La clase Debug proporciona métodos de utilidad para mostrar la información detallada de variables, objetos, matrices, etc. La clase Debug proporciona los siguientes métodos,

tugurio

El método de volcado devuelve varios valores mixtos al navegador de una forma estructurada formateada.

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

backtrace ()

backtrace muestra la información detallada sobre la ejecución actual del código. Muestra la información del archivo PHP, la línea actual y todas sus acciones anteriores.

Debug::backtrace();

clases ()

Devuelve una lista de todas las clases.

Debug::classes();

interfaces ()

Devuelve una lista de todas las clases de interfaz.

Debug::interfaces();

incluye ()

Devuelve una lista de todos los archivos incluidos cargados actualmente en el tiempo de ejecución.

Debug::includes();

funciones ()

Devuelve una lista de todas las funciones.

Debug::functions();

constantes ()

Devuelve una lista de todas las constantes.

Debug::constants();

extensiones ()

Devuelve una lista de todas las extensiones.

Debug::extensions();

encabezados ()

Devuelve una lista de todos los encabezados HTTP.

Debug::headers();

phpini ()

Imprime una lista de los ajustes de configuración leídos del archivo php.ini.

Debug::phpini();