CodeIgniter - Gestione degli errori

Molte volte, durante l'utilizzo dell'applicazione, ci imbattiamo in errori. È molto fastidioso per gli utenti se gli errori non vengono gestiti correttamente. CodeIgniter fornisce un semplice meccanismo di gestione degli errori.

Si desidera che i messaggi vengano visualizzati quando l'applicazione è in modalità di sviluppo anziché in modalità di produzione poiché i messaggi di errore possono essere risolti facilmente nella fase di sviluppo.

L'ambiente della tua applicazione può essere modificato, cambiando la riga indicata di seguito da index.phpfile. Questo può essere impostato su qualsiasi cosa, ma normalmente ci sono tre valori (sviluppo, test, produzione) utilizzati per questo scopo.

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

Un ambiente diverso richiederà diversi livelli di segnalazione degli errori. Per impostazione predefinita, la modalità di sviluppo visualizzerà gli errori e il test e la modalità live li nasconderanno. CodeIgniter fornisce tre funzioni come mostrato di seguito per gestire gli errori.

  • show_error() la funzione visualizza gli errori in formato HTML nella parte superiore dello schermo.

Syntax

show_error ( $ message, $ status_code, $ intestazione = 'È stato riscontrato un errore' )

Parameters

  • $message( misto ): messaggio di errore

  • $status_code( int ) - Codice di stato della risposta HTTP

  • $heading( stringa ) - Intestazione della pagina di errore

Return Type

misto
  • show_404() la funzione visualizza un errore se stai tentando di accedere a una pagina che non esiste.

Syntax

show_404 ( $ page = '', $ log_error = TRUE )

Parameters

  • $page( stringa ) - stringa URI

  • $log_error( bool ) - Indica se registrare l'errore

Return Type

vuoto
  • log_message()viene utilizzata per scrivere messaggi di registro. Questo è utile quando vuoi scrivere messaggi personalizzati.

Syntax

log_message ( $ level, $ message, $ php_error = FALSE )

Parameters

  • $level( stringa ) - Livello di registro: "errore", "debug" o "informazioni"

  • $message( stringa ) - Messaggio da registrare

  • $php_error( bool ) - Indica se stiamo registrando un messaggio di errore PHP nativo

Return Type

vuoto

La registrazione può essere abilitata in application/config/config.phpfile. Di seguito è riportato lo screenshot del file config.php, in cui è possibile impostare il valore di soglia.

/*
|--------------------------------------------------------------------------------
|   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;

Puoi trovare i messaggi di log in application/log/. Assicurati che questa directory sia scrivibile prima di abilitare i file di registro.

Vari modelli per i messaggi di errore possono essere trovati in application/views/errors/cli o application/views/errors/html.