Wenn wir wissen wollen, wer eine bestimmte Methode aufgerufen hat? debug_print_backtrace kann das Problem lösen.
debug_print_backtrace() kann den Aufrufvorgang einer Seite ausdrucken, und es ist klar, woher er kommt PHP5 Proprietäre Funktion, glücklicherweise wurde sie in Pear implementiert,
http://pear.php.net/package/PHP_Compat
Testcode
Code kopieren Der Code lautet wie folgt:
< ?php
class a{
function say($msg) {
echo "msg:".$msg;
echo "
";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");
Ausgabeergebnis
Code kopieren Der Code lautet wie folgt:
msg :test
# 0 a->say(test) aufgerufen bei [/var/www/test/test0723.php:12]
#1 b->say(test) aufgerufen bei [/var/ www/test/test0723. php:19]
#2 c->__construct(test) aufgerufen unter [/var/www/test/test0723.php:23]