Table des matières:
Vidéo: Tutoriel PHP : Formulaire de contact en PHP 2024
La programmation HTML5 et CSS3 réelle est dangereuse. Beaucoup de choses peuvent mal tourner en PHP. La façon intelligente de programmer les données est donc la programmation défensive . Cette pratique implique d'anticiper les erreurs et d'essayer de les résoudre avec élégance. PHP a quelques techniques avancées de gestion des erreurs disponibles qui sont parfaites pour la tâche.
Imaginez que vous ayez écrit un code ressemblant à ceci:
imprimer 5/0;
Vous ne le feriez probablement pas, mais parfois un mauvais code se glisse. Si votre serveur est configuré pour transmettre des messages d'erreur, vous verrez quelque chose comme ça.
Gestion des exceptions
Il se passe beaucoup plus de choses que vous ne le pensez au début. Le comportement par défaut de nombreuses installations PHP est de cacher les erreurs. Cependant, des erreurs se produisent, en particulier si vous autorisez la saisie par l'utilisateur. Cette liste de code piège explicitement les erreurs et les signale indépendamment des paramètres du serveur:
essayez. phpgetMessage ();} // fin essaie? >
Voici ce qui se passe:
-
Utilisez le mot clé try pour indiquer un code potentiellement dangereux.
Le mot clé try ouvre un bloc de code (comme une boucle ou une condition). Tout le code entre essayer et attraper est considéré comme potentiellement dangereux.
-
Placez le code dangereux dans le bloc try.
Tout code susceptible d'entraîner des erreurs doit être placé dans le bloc try. Le code le plus dangereux implique généralement des choses que le programmeur ne peut pas contrôler directement: accès à des fichiers externes, opérations sur des données définies par l'utilisateur ou exposition à des programmes et processus externes.
-
Utilisez la clause catch pour anticiper les erreurs.
La clause catch indique la fin du code dangereux.
-
Indiquez le type d'exception.
Le paramètre de la clause catch est un objet de type Exception. PHP a un certain nombre d'exceptions intégrées, et souvent une bibliothèque ou un jeu d'outils inclura de nouvelles exceptions (vous pouvez également les créer vous-même si vous le souhaitez).
-
Gérer l'exception.
La clause catch ouvre un autre bloc de code. Placez le code ici qui résoudra le problème (ou au moins mourrez avec un peu de style et de grâce - informant l'utilisateur de ce qui n'a pas fonctionné avant de sortir cette bobine mortelle). La ligne la plus courante ici est d'appeler print ($ e-> getMessage ()). Tous les objets d'exception ont une méthode getMessage () et cette ligne signale le message d'erreur en cours.
Savoir quand piéger les exceptions
Si votre serveur est configuré pour le débogage (comme XAMPP est par défaut), il ne sera généralement pas nécessaire de configurer la gestion des exceptions car le comportement par défaut d'une configuration de débogage est de signaler les exceptions de toute façon.Il y a quelques fois où vous voulez toujours un traitement explicite des exceptions:
-
Vous êtes sur un serveur sans paramètres de débogage: Vous n'avez peut-être pas accès à la configuration du serveur, vous risquez de ne pas pouvoir activer rapports d'exception. Les rapports d'exception manuels sont toujours terminés.
-
Vous voulez faire quelque chose de spécial: Le gestionnaire d'exception automatique signale simplement le problème. Si vous voulez faire quelque chose d'autre (par exemple, utiliser un fichier par défaut si un fichier n'est pas trouvé), vous aurez besoin d'un gestionnaire d'exceptions personnalisé pour cette situation.
-
Vous faites quelque chose d'exotique: Les bibliothèques spéciales viennent souvent avec leurs propres exceptions personnalisées, et vous aurez besoin d'un gestionnaire d'exceptions pour couvrir ces situations.