누가 특정 메서드를 호출했는지 알고 싶다면 debug_print_backtrace로 해결할 수 있습니다
debug_print_backtrace()는 페이지의 호출 프로세스를 인쇄할 수 있으며 그 출처가 어디인지는 분명합니다.
PHP5 전용 함수, 다행히 pear에 구현되어 있습니다.
http://pear.php.net/package/PHP_Compat
테스트 코드
<?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");
출력 결과
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]
위 내용은 PHP 디버깅 도구 debug_print_backtrace()의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!