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();