首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中获取调用者函数的名称?

在PHP中获取调用者函数的名称?
EN

Stack Overflow用户
提问于 2008-10-10 07:31:48
回答 12查看 86.3K关注 0票数 148

有没有一个PHP函数来找出给定函数中的调用者函数的名称?

EN

回答 12

Stack Overflow用户

发布于 2008-10-10 07:37:32

参见debug_backtrace -这可以跟踪你的调用堆栈一直到顶部。

下面是你如何让你的调用者:

代码语言:javascript
复制
$trace = debug_backtrace();
$caller = $trace[1];

echo "Called by {$caller['function']}";
if (isset($caller['class']))
    echo " in {$caller['class']}";
票数 216
EN

Stack Overflow用户

发布于 2012-03-30 06:49:44

Xdebug提供了一些很好的函数。

代码语言:javascript
复制
<?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();
?>

将返回跟踪

代码语言:javascript
复制
callee() called @ /var/www/xd.php: 16 from MyClass::__construct

要在ubuntu上安装Xdebug,最好的方法是

代码语言:javascript
复制
sudo aptitude install php5-xdebug

您可能需要先安装php5-dev

代码语言:javascript
复制
sudo aptitude install php5-dev

more info

票数 17
EN

Stack Overflow用户

发布于 2008-10-10 07:37:20

debug_backtrace()提供当前调用堆栈中的参数、函数/方法调用的详细信息。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/190421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档