欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP debug_backtrace() 函数

程序员文章站 2022-06-16 18:14:37
...
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"."
"; 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"."
"; 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;

版权声明:本文为博主原创文章,未经博主允许不得转载。