Maison  >  Article  >  développement back-end  >  Fonction de débogage debug_backtrace en PHP

Fonction de débogage debug_backtrace en PHP

不言
不言original
2018-04-20 13:25:111602parcourir

debug_backtrace() est une fonction très discrète, et peu de gens y ont prêté attention. Cet article vous présente principalement l'utilisation de la fonction de débogage debug_backtrace en PHP. L'article la présente en détail à travers un exemple de code. est très utile pour tout le monde. Étudier ou travailler a une certaine valeur d'apprentissage de référence. Les amis intéressés peuvent venir étudier ensemble.

Préface

Si nous voulons savoir qui a appelé une certaine méthode, debug_backtrace peut la résoudre. debug_backtrace() peut imprimer le processus d'appel d'une page, indiquant clairement d'où il vient.

Parfois, nous voulons connaître la pile d'appels de cette fonction ou méthode, c'est-à-dire comment elle est appelée niveau par niveau. Vous pouvez utiliser la fonction debug_backtrace de PHP pour l'imprimer, comme ceci :

Exemple de code

public function update(Request $request, $id)
{
 dd(debug_backtrace());
 $getGameID = function ($request) {
 if (!$request->game_id) {
 return 1000 + intval($request->id);
 }
 return $request->game_id;
 };
 
 $previews = $this->getGamePreviews($request->game_preview);
 
 $request->merge([
 'game_preview' => json_encode($previews),
 'game_id' => $getGameID($request)
 ]);
 EgretGame::where('id', $id)->update($request->except(['_token', '_method']));
 return redirect()->route('egretgame.index')->with('success', '编辑成功!');
}

Vous pouvez contrôler le nombre de niveaux de pile qui doivent être retracés, où debug_backtrace est un paramètre par défaut sur une constante DEBUG_BACKTRACE_PROVIDE_OBJECT, indiquant que les informations de cet objet sont affichées. Le deuxième paramètre est utilisé pour contrôler le nombre de piles de backtrace. La valeur par défaut est all.

L'effet est comme le montre la figure, et la relation entre les niveaux d'appel est claire en un coup d'œil :

PHP documentation officielle : http:// php.net/manual/zh/function.debug-backtrace.php

Recommandations associées :

phpstorm+xdebug implémente débogage du point d'arrêt php

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:
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