Heim  >  Artikel  >  Backend-Entwicklung  >  PHP debug_backtrace 函数

PHP debug_backtrace 函数

WBOY
WBOYOriginal
2016-07-30 13:30:201128Durchsuche

PHP debug_backtrace() 函数生成一个 backtrace

该函数返回一个关联数组。

<code>下面是可能返回的元素
</code>
function 字符串 当前的函数名
line 整数 当前的行号
file 字符串 当前的文件名
object 对象 当前对象
type 字符串 当前的调用类型,可能的调用: 返回: “->” - 方法调用返回: “::” - 静态方法调用返回 nothing - 函数调用
args 数组 如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名

For Example one:

<code><span><span>class</span><span>Hello</span>{</span><span>private</span><span>$var</span>;
        <span>public</span><span>$var2</span>;
        <span>protected</span><span>$var3</span>;

    <span>public</span><span><span>function</span><span>__construct</span><span>(<span>$var</span>,<span>$var2</span>,<span>$var3</span>)</span>{</span><span>$this</span>-><span>var</span>=<span>$var</span>;
            <span>$this</span>->var2=<span>$var2</span>;
            <span>$this</span>->var3=<span>$var3</span>;
        } 
   }


<span><span>function</span><span>test</span><span>(Hello <span>$hello</span>)</span>{</span><span>echo</span><span>"Hi this is a test function"</span>.<span>"<br>"</span>;
        print_r(debug_backtrace());
}

<span>$hello2</span>=<span>new</span> Hello(<span>'A'</span>,<span>'B'</span>,<span>'C'</span>);
test(<span>$hello2</span>);</code>

实例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:

<code><span><span>class</span><span>Hello</span>{</span><span>private</span><span>$var</span>;
        <span>public</span><span>$var2</span>;
        <span>protected</span><span>$var3</span>;

   <span>public</span><span><span>function</span><span>__construct</span><span>(<span>$var</span>,<span>$var2</span>,<span>$var3</span>)</span>                   {</span><span>$this</span>-><span>var</span>=<span>$var</span>;
      <span>$this</span>->var2=<span>$var2</span>;
      <span>$this</span>->var3=<span>$var3</span>;
 } 

   <span><span>function</span><span>test</span><span>(Hello <span>$hello</span>)</span>{</span><span>echo</span><span>"Hi this is a test function"</span>.<span>"<br>"</span>;
       print_r(debug_backtrace());
   }
}

<span>$hello2</span>=<span>new</span> Hello(<span>'A'</span>,<span>'B'</span>,<span>'C'</span>);
<span>$hello2</span>->test(<span>$hello2</span>);
</code>

实例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;

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

以上就介绍了PHP debug_backtrace 函数,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn