Heim >Backend-Entwicklung >PHP-Tutorial >PHP debug_backtrace-Funktion

PHP debug_backtrace-Funktion

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

PHP-Funktion debug_backtrace() generiert einen Backtrace

Diese Funktion gibt ein assoziatives Array zurück.

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

Zum Beispiel eins:

<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>

Das Ausgabeergebnis von Instanz eins ist wie folgt:

Hallo, das ist eine Testfunktion
Array ( [0] => Array (
[Datei] => D:wwwMyProjecttestindex4.php
[Zeile] => 52
[Funktion] => testen
[args] => Array ( [0] => Hello Object ( [var:Hello:private] => A [var2] => B [var3:protected] => C ) ) )

Hinweis: Hier werden nur vier Parameter ausgegeben, nämlich: Datei, Zeile, Funktion, Argumente

Für Beispiel zwei:

<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>

Die Ausgabe Das Ergebnis von Beispiel zwei ist wie folgt:

Hallo, das ist eine Testfunktion
Array ( [0] => Array (
[Datei] => D:wwwMyProjecttestindex4.php
[Zeile] => 54
[Funktion] => testen
[class] => Hallo
[object] => Hello Object ( [var:Hello:private] => A [var2] => B [var3:protected] => C )
[Typ] => -> [args] => Array ( [0] => Hello Object ( [var:Hello:private] => A [var2] => B [var3:protected] => C ) ) )

Hinweis: Hier werden alle Parameter ausgegeben, nämlich: Datei, Zeile, Funktion, Klasse, Objekt, Typ, Argumente

Urheberrechtsausschluss: Dies Der Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt die PHP-Funktion debug_backtrace vor, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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