找出调用函数的函数的名称

时间:2011-06-28 05:16:57

标签: php function callback

  

可能重复:
  Caller function in PHP 5?

像这样:

function foo(){
  do_something();
}

function do_something(){
  // How can I find out if this function was called from "foo" ?
}

这可以在PHP中使用吗?

(注意,在我的情况下,do_something()函数实际上是一个类方法)

3 个答案:

答案 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)