2

ブラウザで PHP をデバッグする最良の方法を見つけようとしています。

編集:

xdebug、var_dump、および print_r については知っています。それはポイントではありません。a) サイトが稼働しているときにデバッグする方法が欲しい (わかっている、それは悪いことだが、時には迅速な修正が必要になることもある)、b) Web ページ全体に PHP 変数をダンプするのは見苦しい、c) 時々知る必要があるAJAX 呼び出しが機能しない理由と、コンソールで JSON を確認する方が簡単です。

考えられる他の解決策には、デバッグ出力を非表示の div でラップすることが含まれます。

<div id="debug"><?php var_dump($all_the_junk) ?></div><script>document.getElementById('debug').style.display='none'</script>

そして、次のようなものを入力します

document.getElementById('debug')style.display = 'block'

コンソールに。

しかし、正直なところ、そのようなことは最悪であり、すべてを整頓された方法で見ることができるという目的を無効にします.

ENDEDIT;

とにかく、私は次のコードを持っています:

function log_as_json($vars)
{
    if(is_resource($vars)) {
        return;
    }
    else {
        if($vars)
        {
            $json =  @json_encode($vars);
            print "<script>console.log($json);</script>";
        }

    }
}

問題は、たまにひどい再帰が発生することですが、json_encode がサポートする型を確認する最善の方法がわかりません。また、これを行うためのより良い方法があると思います。アドバイスをいただければ幸いです。ありがとう!

4

4 に答える 4

3

ブラウザーでのデバッグに本当に熱心な場合は、Chrome Logger (旧称 ChromePHP) をお勧めします。

于 2013-06-30T01:29:02.323 に答える
3

最善の方法は、xdebugと、ブレークポイントを設定できる IDE を使用することです

于 2013-06-30T01:20:42.220 に答える
0

私はprint_rまたはvar_dumpを使用しています- それはそれらが設計されているものです。

これらの呼び出しを埋め込むことができると思いますが、console.logどのように表示されるかはわかりません。

于 2013-06-30T01:22:20.130 に答える