debug_print_backtrace() est une fonction très discrète, et peu de gens y prêtent attention. Mais quand j'appelle un autre objet sur un objet et que j'appelle ensuite d'autres objets et une fonction dans le fichier et qu'une erreur se produit, c'est marrant
Si on veut savez-vous qui a appelé une certaine méthode ? debug_print_backtrace peut la résoudre
debug_print_backtrace() peut imprimer le processus d'appel d'une page, et il est clair d'où il vient
Mais c'est une fonction propriétaire de PHP5, d'accord. est déjà une implémentation dans pear,
http://pear.php.net/package/PHP_Compat
Code de test, Le code est le suivant :
<?php class a{ function say($msg) { echo "msg:".$msg; echo "<pre class="brush:php;toolbar:false">";debug_print_backtrace(); } } class b { function say($msg) { $a = new a(); $a->say($msg); } } class c { function construct($msg) { $b = new b(); $b->say($msg); } } $c = new c("test");
Résultat de sortie
Le code est le suivant :
msg:test #0 a->say(test) called at [/var/www/test/test0723.php:12] #1 b->say(test) called at [/var/www/test/test0723.php:19] #2 c->construct(test) called at [/var/www/test/test0723.php:23]
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!