在PHP中获取一个被调用的函数列表

Pra*_*dip 7 php

在PHP中,get_included_files()返回一个包含所包含文件名称的数组.

以类似的方式,有没有办法得到一个带有参数的被调用函数名称的数组?

Pek*_*ica 9

这样,有没有办法得到一个带有参数的被调用函数名称的数组?

没有.

你可以做的是debug_backtrace()显示所有函数调用(带参数),这些函数调用导致执行("调用堆栈")执行回溯的行,但这与所有调用的函数不同剧本.

你想让我做什么?也许有一种不同的方法.


Sim*_*ity 6

我正在寻找类似的东西,发现xdebug的跟踪非常有用.

以下是它的外观示例:http: //devzone.zend.com/1135/tracing-php-applications-with-xdebug/


小智 5

我试图实现您想要的结果,最后提出了一个合理的解决方案。

创建一个名为的类,Debug并将其包含在要调试的每个文件之上。为自己构建一个函数,该函数可以很好地打印存储在中的信息$calls

class Debug {
    private static $calls;

    public static function log($message = null)
    {
        if(!is_array(self::$calls))
            self::$calls = array();

        $call = debug_backtrace(false);
        $call = (isset($call[1]))?$call[1]:$call[0];

        $call['message'] = $message;
        array_push(self::$calls, $call);
    }
}
Run Code Online (Sandbox Code Playgroud)

每次在函数体中声明函数第一行时调用此函数: Debug::log($message(optional) )