PHP debug_backtrace() 函数生成一个 backtrace
该函数返回一个关联数组。
下面是可能返回的元素
function | 字符串 | 当前的函数名 |
---|---|---|
line | 整数 | 当前的行号 |
file | 字符串 | 当前的文件名 |
object | 对象 | 当前对象 |
type | 字符串 | 当前的调用类型,可能的调用: 返回: “->” - 方法调用返回: “::” - 静态方法调用返回 nothing - 函数调用 |
args | 数组 | 如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名 |
For Example one:
class Hello{
private $var;
public $var2;
protected $var3;
public function __construct($var,$var2,$var3){
$this->var=$var;
$this->var2=$var2;
$this->var3=$var3;
}
}
function test(Hello $hello){
echo "Hi this is a test function"."<br>";
print_r(debug_backtrace());
}
$hello2=new Hello(‘A‘,‘B‘,‘C‘);
test($hello2);
实例One输出结果如下:
Hi this is a test function
Array ( [0] => Array (
[file] => D:\www\MyProjecttest\index4.php
[line] => 52
[function] => test
[args] => Array ( [0] => Hello Object ( [var:Hello:private] => A [var2] => B [var3:protected] => C ) ) ) )
注:在此只输出四个参数,分别是:file,line,function,args;
For Example Two:
class Hello{
private $var;
public $var2;
protected $var3;
public function __construct($var,$var2,$var3) {
$this->var=$var;
$this->var2=$var2;
$this->var3=$var3;
}
function test(Hello $hello){
echo "Hi this is a test function"."<br>";
print_r(debug_backtrace());
}
}
$hello2=new Hello(‘A‘,‘B‘,‘C‘);
$hello2->test($hello2);
实例Two输出结果如下:
Hi this is a test function
Array ( [0] => Array (
[file] => D:\www\MyProjecttest\index4.php
[line] => 54
[function] => test
[class] => Hello
[object] => Hello Object ( [var:Hello:private] => A [var2] => B [var3:protected] => C )
[type] => ->
[args] => Array ( [0] => Hello Object ( [var:Hello:private] => A [var2] => B [var3:protected] => C ) ) ) )
注:在此所有参数都输出了,分别是:file,line,function,class,object,type,args;
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-03 23:01:05