CodeIgniter - Gestion des erreurs

Plusieurs fois, lors de l'utilisation de l'application, nous rencontrons des erreurs. C'est très ennuyeux pour les utilisateurs si les erreurs ne sont pas gérées correctement. CodeIgniter fournit un mécanisme de gestion des erreurs simple.

Vous souhaitez que les messages s'affichent lorsque l'application est en mode développement plutôt qu'en mode production, car les messages d'erreur peuvent être résolus facilement au stade du développement.

L'environnement de votre application peut être modifié en modifiant la ligne ci-dessous de index.phpfichier. Cela peut être défini sur n'importe quoi, mais normalement, trois valeurs (développement, test, production) sont utilisées à cette fin.

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

Un environnement différent nécessitera différents niveaux de rapport d'erreur. Par défaut, le mode de développement affichera les erreurs et les tests et le mode en direct les masqueront. CodeIgniter fournit trois fonctions comme indiqué ci-dessous pour gérer les erreurs.

  • show_error() La fonction affiche les erreurs au format HTML en haut de l'écran.

Syntax

show_error ( $ message, $ status_code, $ header = 'Une erreur a été rencontrée' )

Parameters

  • $message( mixte ) - Message d'erreur

  • $status_code( int ) - Code d'état de la réponse HTTP

  • $heading( string ) - En-tête de page d'erreur

Return Type

mixte
  • show_404() La fonction affiche une erreur si vous essayez d'accéder à une page qui n'existe pas.

Syntax

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

Parameters

  • $page( string ) - chaîne URI

  • $log_error( booléen ) - S'il faut enregistrer l'erreur

Return Type

néant
  • log_message()La fonction est utilisée pour écrire des messages de journal. Ceci est utile lorsque vous souhaitez rédiger des messages personnalisés.

Syntax

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

Parameters

  • $level( chaîne ) - Niveau de journalisation: 'erreur', 'débogage' ou 'info'

  • $message( string ) - Message à enregistrer

  • $php_error( booléen ) - Si nous enregistrons un message d'erreur PHP natif

Return Type

néant

La journalisation peut être activée dans application/config/config.phpfichier. Ci-dessous, la capture d'écran du fichier config.php, où vous pouvez définir la valeur de seuil.

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

Vous pouvez trouver les messages du journal dans application/log/. Assurez-vous que ce répertoire est accessible en écriture avant d'activer les fichiers journaux.

Différents modèles de messages d'erreur sont disponibles dans application/views/errors/cli ou application/views/errors/html.