PHP debug_backtrace() 関数はバックトレースを生成します
この関数は連想配列を返します。
<code>下面是可能返回的元素 </code>
function | string | 現在の関数名 |
---|---|---|
line | integer | 現在の行番号 |
file | String | 現在のファイル名 |
オブジェクト | オブジェクト | 現在のオブジェクト |
type | string | 現在の呼び出しタイプ、可能な呼び出し: 戻り値: "->" - メソッド呼び出しが返す: "::" - 静的メソッド呼び出しは何も返さない - 関数呼び出し |
args | array | 関数内の場合、関数の引数をリストします。参照ファイルにある場合は、参照ファイル名をリストします |
例 1:
<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>
例 1 の出力結果は次のとおりです:
こんにちは、これはテスト関数です
配列 ( [0] => 配列 (
[ファイル] => D:wwwMyProjecttestindex4.php
[行] => 52
[関数] => テスト
[args] => 配列 ( [0] => Hello オブジェクト ( [var:Hello:private] => A [var2] => B [var3:protected] => C ) ) )
注: ここでは 4 つのパラメーターのみが出力されます: file、line、function、args;
例 2:
<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>
例 2 の出力結果は次のとおりです:
こんにちは、これはテスト関数です
配列 ( [0] => 配列 (
[ファイル] => D:wwwMyProjecttestindex4.php
[行] => 54
[関数] => テスト
[クラス] => こんにちは
[オブジェクト] => Hello オブジェクト ( [var:Hello:private] => A [var2] => B [var3:protected] => C )
[タイプ] => ->
[args] => 配列 ( [0] => Hello オブジェクト ( [var:Hello:private] => A [var2] => B [var3:protected] => C ) ) )
注: すべてのパラメータがここに出力されます。つまり、ファイル、行、関数、クラス、オブジェクト、型、引数です。
著作権ステートメント: この記事はブロガーによるオリジナルの記事であり、許可なく複製することはできません。ブロガーの。
上記では、PHP の debug_backtrace 関数を関連コンテンツも含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。