我试图实现你想要的东西,最终想出了一个合理的解决方案.
创建一个名为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);
}
}
每次在函数体中声明函数第一行时调用此函数:Debug :: log($message(optional))