FuelPHP - Gestion des erreurs et débogage

FuelPHP fournit un excellent support pour gérer les erreurs et déboguer l'application. Expliquons la gestion des erreurs et le débogage dans ce chapitre.

La gestion des erreurs

La gestion des erreurs FuelPHP est basée sur des exceptions. FuelPHP fournit une exception PhpErrorException pour toutes les anciennes erreurs php. FuelPHP lève PhpErrorException chaque fois qu'une erreur dans le code PHP est rencontrée. FuelPHP facilite également l'affichage de pages d'erreur personnalisées pour divers codes d'état HTTP.

Erreur de fichier introuvable

FuelPHP fournit une nouvelle classe d'exception, HttpNotFoundException pour gérer les demandes inconnues. Parfois, nous pouvons rencontrer la demande qui peut ne pas être traitée. À ce moment-là, nous pouvons simplement lancer l'exception HttpNotFoundException.

Par défaut, une page par défaut est configurée pour HttpNotFoundException dans le fichier de configuration des routes, fuel / app / config / routes.php en utilisant l'entrée 400. Chaque fois que HttpNotFoundException est déclenché, la demande sera redirigée vers 400 pages.

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

Erreurs internes

FuelPHP fournit une nouvelle classe d'exception, HttpServerErrorException pour gérer toutes les erreurs de serveur. Parfois, il se peut que nous ne puissions pas traiter la demande donnée en raison d'erreurs internes. À ce moment-là, nous pouvons simplement lancer l'exception HttpServerErrorException.

Par défaut, une page par défaut est configurée pour HttpServerErrorException dans le fichier de configuration des routes, fuel / app / config / routes.php en utilisant l'entrée 500. Chaque fois que HttpServerErrorException est déclenché, la demande sera redirigée vers 500 pages.

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

Cette page enregistrera l'erreur, affichera l'erreur formatée dans la page et enverra occasionnellement une notification à l'administrateur système.

Erreurs de violation d'accès

FuelPHP fournit une nouvelle classe d'exception, HttpNoAccessException pour gérer les violations d'accès. Parfois, il se peut que nous ne puissions pas traiter la demande en raison d'une restriction d'accès. À ce moment-là, nous pouvons simplement lancer l'exception HttpNoAccessException.

Par défaut, une page par défaut est configurée pour HttpNoAccessException dans le fichier de configuration des routes, fuel / app / config / routes.php à l'aide de l'entrée 403. Chaque fois que HttpNoAccessException est déclenchée, la demande sera redirigée vers la page 403.

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

Cette page affichera les informations de violation d'accès.

Débogage

Le débogage est l'une des activités les plus fréquentes du développement d'une application. FuelPHP fournit une classe simple,Debugpour gérer l'activité de débogage de l'application. Apprenons la classe Debug et ses méthodes dans ce chapitre.

Classe de débogage

La classe de débogage fournit des méthodes utilitaires pour afficher les informations détaillées des variables, objets, tableau, etc. La classe de débogage fournit les méthodes suivantes,

déverser

La méthode de vidage renvoie plusieurs valeurs mixtes au navigateur d'une manière structurée formatée.

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

trace arrière ()

backtrace affiche les informations détaillées sur l'exécution actuelle du code. Il affiche les informations du fichier PHP, la ligne actuelle et toutes ses actions précédentes.

Debug::backtrace();

Des classes()

Renvoie une liste de toutes les classes.

Debug::classes();

interfaces ()

Renvoie une liste de toutes les classes d'interface.

Debug::interfaces();

comprend ()

Renvoie une liste de tous les fichiers inclus actuellement chargés au moment de l'exécution.

Debug::includes();

les fonctions()

Renvoie une liste de toutes les fonctions.

Debug::functions();

constantes ()

Renvoie une liste de toutes les constantes.

Debug::constants();

extensions ()

Renvoie une liste de toutes les extensions.

Debug::extensions();

en-têtes ()

Renvoie une liste de tous les en-têtes HTTP.

Debug::headers();

phpini ()

Imprime une liste des paramètres de configuration lus à partir du fichier php.ini.

Debug::phpini();