誰が特定のメソッドを呼び出したかを知りたい場合は、debug_print_backtrace で解決できます
debug_print_backtrace() は、ページの呼び出しプロセスを出力でき、それがどこから来たのかは明らかです
しかし、これは幸いにも PHP5 の独自の関数です。
http://pear.php.net/package/PHP_Compat にはすでに実装があります
テストコード
コードをコピー コードは次のとおりです:
class a{
関数say( $msg) {
echo "msg:".$msg;
echo "
;debug_print_backtrace();
}
}
関数say($msg) {
$a = new a ();
$a->say($msg);
}
}
class c {
function __construct($msg) {
$b = new b(); Say($ msg);
}
}
$c = new c("test");
コードをコピー
コードは次のとおりです:
msg:test # 0 a->say (test) は [/var/www/test/test0723.php:12] で呼び出されます #1 b->say(test) は [/var/www/test/test0723.php: 19] #2 c ->__construct(test) [/var/www/test/test0723.php:23] で呼び出されます
関連リンク
http://ch2.php.net/manual/zh/ function.debug-print-backtrace.php
http://ch2.php.net/manual/zh/function.debug-backtrace.php
http://www.bkjia.com/PHPjc/325806.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/325806.html技術記事特定のメソッドを呼び出した人を知りたい場合は、 debug_print_backtrace() でページの呼び出しプロセスをどこから来てどこへ行くのかを出力できます...