Maison > cadre php > PensezPHP > le corps du texte

Comment afficher des informations détaillées sur les erreurs dans thinkphp5

WBOY
Libérer: 2023-05-29 09:19:32
avant
1419 Les gens l'ont consulté

1. Définir le mode de débogage

En utilisant le mode de débogage, ThinkPHP5 peut afficher des informations d'erreur détaillées sur la page. Dans l'environnement de développement, nous pouvons activer le mode débogage pour faciliter notre développement. Cependant, dans un environnement de production, nous devons désactiver le mode débogage pour éviter toute fuite d'informations sensibles.

La méthode pour activer le mode débogage est la suivante :

  1. Ouvrez le fichier app.php dans le répertoire de configuration, recherchez l'option de débogage et définissez-la sur true.

  2. Ouvrez le fichier index.php dans le répertoire public, recherchez l'option APP_DEBUG et définissez-la sur true.

Bien sûr, dans un environnement de production, nous devons changer ces options en false pour éviter la fuite d'informations sensibles.

2. Utiliser la gestion des exceptions

En plus de définir le mode de débogage, nous pouvons également utiliser la gestion des exceptions pour générer des informations détaillées sur les erreurs.

  1. Exceptions

Dans ThinkPHP5, les exceptions sont un concept crucial. Tout message d'erreur est fourni en générant une exception. Par conséquent, nous devons apprendre à utiliser les exceptions pour générer des informations détaillées sur les erreurs.

Dans ThinkPHP5, les exceptions sont divisées en trois types :

1) thinkException : classe d'exception ordinaire, généralement utilisée pour les restrictions de logique métier, héritant de la classe Exception fournie avec PHP.

2) thinkexceptionHttpException : classe d'exception HTTP, utilisée pour les exceptions liées aux requêtes HTTP.

3) thinkexceptionValidateException : classe d'exception de vérification, utilisée pour lancer lorsque le validateur ne parvient pas à vérifier.

  1. Lancer une exception

Lorsqu'une erreur se produit dans le programme, nous pouvons lancer une exception pour arrêter l'exécution du programme et afficher le message d'erreur. Voici un exemple de code simple :

if(!$result) {
    throw new \Exception('错误信息');
}
Copier après la connexion

Ce code lèvera une exception et affichera un message d'erreur lorsque $result est faux.

  1. Catch exceptions

L'utilisation du bloc d'instructions try...catch pour intercepter les exceptions et imprimer les informations d'erreur est une méthode couramment utilisée dans le code. Voici un exemple de code simple :

try {
    // 可能会抛出异常的代码
} catch (\Exception $e) {
    echo $e->getMessage();
}
Copier après la connexion

Ce code exécutera le code dans le bloc d'instruction try. Si une exception se produit pendant l'exécution, elle sera capturée par le bloc d'instruction catch et un message d'erreur sera généré.

3. Utiliser les journaux pour enregistrer les informations sur les erreurs

En plus des deux méthodes ci-dessus, nous pouvons également utiliser les journaux pour enregistrer les informations sur les erreurs. Nous ne présenterons pas le système de journalisation de ThinkPHP5 en détail, mais expliquerons simplement comment utiliser les journaux pour enregistrer les informations sur les erreurs.

  1. Configuration des journaux

Dans le fichier app.php dans le répertoire de configuration, nous pouvons trouver les éléments de configuration des journaux, définir le pilote de journal et le chemin de stockage des journaux ainsi que d'autres configurations associées.

  1. Logging

Dans le code, nous pouvons utiliser la classe Log pour enregistrer des journaux. Voici un exemple de code simple :

use think\facade\Log;

try {
    // 可能会抛出异常的代码
} catch (\Exception $e) {
    Log::error('错误信息:'.$e->getMessage());
}
Copier après la connexion

Ce code exécutera le code dans le bloc d'instruction try. Si une exception se produit pendant l'exécution, elle sera capturée par le bloc d'instruction catch et utilisera la classe Log pour enregistrer les informations d'erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal