有没有一个PHP函数来找出给定函数中的调用者函数的名称?
发布于 2008-10-10 07:37:32
参见debug_backtrace -这可以跟踪你的调用堆栈一直到顶部。
下面是你如何让你的调用者:
$trace = debug_backtrace();
$caller = $trace[1];
echo "Called by {$caller['function']}";
if (isset($caller['class']))
echo " in {$caller['class']}";
发布于 2012-03-30 06:49:44
Xdebug提供了一些很好的函数。
<?php
Class MyClass
{
function __construct(){
$this->callee();
}
function callee() {
echo sprintf("callee() called @ %s: %s from %s::%s",
xdebug_call_file(),
xdebug_call_line(),
xdebug_call_class(),
xdebug_call_function()
);
}
}
$rollDebug = new MyClass();
?>
将返回跟踪
callee() called @ /var/www/xd.php: 16 from MyClass::__construct
要在ubuntu上安装Xdebug,最好的方法是
sudo aptitude install php5-xdebug
您可能需要先安装php5-dev
sudo aptitude install php5-dev
发布于 2008-10-10 07:37:20
debug_backtrace()
提供当前调用堆栈中的参数、函数/方法调用的详细信息。
https://stackoverflow.com/questions/190421
复制相似问题