CodeIgniter - Manejo de errores

Muchas veces, al usar la aplicación, nos encontramos con errores. Es muy molesto para los usuarios si los errores no se manejan correctamente. CodeIgniter proporciona un mecanismo de manejo de errores sencillo.

Le gustaría que los mensajes se mostraran cuando la aplicación está en modo de desarrollo en lugar de en modo de producción, ya que los mensajes de error se pueden resolver fácilmente en la etapa de desarrollo.

El entorno de su aplicación se puede cambiar, cambiando la línea que se muestra a continuación de index.phparchivo. Esto se puede establecer en cualquier cosa, pero normalmente hay tres valores (desarrollo, prueba, producción) utilizados para este propósito.

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

Un entorno diferente requerirá diferentes niveles de notificación de errores. De forma predeterminada, el modo de desarrollo mostrará errores y pruebas y el modo en vivo los ocultará. CodeIgniter proporciona tres funciones como se muestra a continuación para manejar errores.

  • show_error() La función muestra errores en formato HTML en la parte superior de la pantalla.

Syntax

show_error ( $ mensaje, $ status_code, $ header = 'Se encontró un error' )

Parameters

  • $message( mixto ) - Mensaje de error

  • $status_code( int ) - Código de estado de respuesta HTTP

  • $heading( cadena ): encabezado de página de error

Return Type

mezclado
  • show_404() La función muestra un error si está intentando acceder a una página que no existe.

Syntax

show_404 ( $ página = '', $ log_error = TRUE )

Parameters

  • $page( cadena ) - cadena URI

  • $log_error( bool ): si se registra el error

Return Type

vacío
  • log_message()La función se utiliza para escribir mensajes de registro. Esto es útil cuando desea escribir mensajes personalizados.

Syntax

log_message ( $ nivel, $ mensaje, $ php_error = FALSE )

Parameters

  • $level( cadena ) - Nivel de registro: 'error', 'depuración' o 'información'

  • $message( cadena ) - Mensaje para registrar

  • $php_error( bool ): si estamos registrando un mensaje de error de PHP nativo

Return Type

vacío

El registro se puede habilitar en application/config/config.phparchivo. A continuación se muestra la captura de pantalla del archivo config.php, donde puede establecer el valor de umbral.

/*
|--------------------------------------------------------------------------------
|   Error Logging Threshold
|--------------------------------------------------------------------------------
| You can enable error logging by setting a threshold over zero. The 
| threshold determines what gets logged. Threshold options are:
|
|   0 = Disable logging, Error logging TURNED OFF
|   1 = Error Message (including PHP errors)
|   2 = Debug Message
|   3 = Informational Messages
|   4 = All Messages
|
| You can also pass an array with threshold levels to show individual error types
|
|   array(2) = Debug Message, without Error Messages
| For a live site you'll usually only enable Errors (1) to be logged otherwise 
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;

Puede encontrar los mensajes de registro en application/log/. Asegúrese de que se pueda escribir en este directorio antes de habilitar los archivos de registro.

Se pueden encontrar varias plantillas para mensajes de error en application/views/errors/cli o application/views/errors/html.