Maison >cadre php >PensezPHP >Analyser les moyens et méthodes de débogage ThinkPHP

Analyser les moyens et méthodes de débogage ThinkPHP

藏色散人
藏色散人avant
2021-12-14 15:27:321714parcourir

La colonne suivante du didacticiel thinkphpframework analysera les méthodes de débogage que vous devez maîtriser lors de l'utilisation de ThinkPHP. J'espère qu'elle sera utile aux amis dans le besoin !

Analyse des méthodes de débogage qui doivent être maîtrisées lors de l'utilisation de ThinkPHP

Méthodes de débogage qui doivent être maîtrisées lors de l'utilisation de ThinkPHP

Je vois souvent des gens poser des questions telles que quel est le type de données de retour de findAll et des situations où une erreur se produit sans en connaître la raison, en fait, je ne suis toujours pas familier avec les méthodes de débogage et les méthodes intégrées à ThinkPHP. En mettant de côté les méthodes de débogage fournies avec l'IDE lui-même, si vous utilisez ou prévoyez d'utiliser ThinkPHP pour le développement, alors vous doit comprendre les méthodes suivantes liées au débogage. Maîtrisé :

1. Activez le mode de débogage DEBUG_MODE dans le fichier de configuration du projet, ce qui vous permettra de trouver la plupart des causes d'erreurs. Cela peut affecter la sortie du code de vérification.

2. Si vous ne souhaitez pas utiliser le mode de débogage, vous pouvez activer l'affichage de la page Trace séparément. J'ai découvert que la raison pour laquelle de nombreuses personnes ne souhaitent pas utiliser le mode débogage est en fait la sortie des informations de trace de page. En fait, il y a un malentendu. En fait, il n'y a pas de relation nécessaire entre le mode débogage et la trace de page. Après avoir activé le mode de débogage, le fichier de configuration de débogage par défaut du système activera l'affichage de la trace de page, vous pouvez donc définir un fichier de configuration de débogage distinct pour le projet.

3. Utilisez la fonction de vidage définie par le système. Cette méthode peut générer tout type d'informations variables comme var_dump, et est plus pratique à afficher dans le navigateur. Par exemple :

Le code est le suivant :

$User = D("User");
$list = $User->findAll();
dump($list);

4. Les informations de trace de page peuvent uniquement afficher les instructions SQL exécutées sur la page actuelle, mais vous ne pouvez pas afficher les instructions SQL dans les opérations en arrière-plan exécutées en mode ajax. Vous pouvez donc également activer la journalisation SQL SQL_DEBUG_LOG pour enregistrer chaque instruction SQL exécutée et vous pouvez afficher l'exécution de chaque instruction SQL. Le fichier journal SQL horaire se trouve sous le répertoire Logs et les journaux SQL quotidiens sont automatiquement distingués par date.

5. Une autre solution est que si vous soupçonnez qu'il y a une erreur dans l'exécution de SQL après avoir effectué une certaine opération sur les données, vous pouvez utiliser la méthode getLastSql de la classe modèle pour afficher la dernière instruction SQL exécutée afin d'analyser la cause spécifique de l'erreur. . Par exemple :

Le code est le suivant :

$User = D("User");
$User->id = 3;
$User->name = 'ThinkPHp';
$User->save();
echo $User->getLastSql();
// 输出 update think_user set where id=3;

6. Lorsque vous devez déboguer le temps d'exécution d'un certain morceau de code, vous pouvez utiliser les méthodes debug_start($label) et debug_end($label) fournies par le système. Par exemple :

Le code est le suivant :

debug_start('demo');
// 这里是你的代码段.......
debug_end('demo');

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer