像这样:
function foo(){
do_something();
}
function do_something(){
// How can I find out if this function was called from "foo" ?
}
这可以在PHP中使用吗?
(注意,在我的情况下,do_something()
函数实际上是一个类方法)
答案 0 :(得分:4)
您想使用debug_backtrace()
(manpage)
答案 1 :(得分:4)
您可以使用debug_backtrace,这将允许您访问调用堆栈。
function do_something(){
$trace = debug_backtrace();
if($trace[1]['function'] == 'foo'){
// called from foo
}
}
答案 2 :(得分:3)