PHPのdebug_backtrace関数

WBOY
リリース: 2016-07-30 13:30:20
オリジナル
1161 人が閲覧しました

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 チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート