この記事について
PHPのデバッグで「var_dump($test);exit;」しかしない人のために
手動デバッグで役に立ったことをまとめてみました。
デバッグおすすめリスト
やりたいこと | デバッグ方法 | 役立つ度 |
---|---|---|
配列をコピペで変数代入できる状態で出力する | 「var_dump()」ではなく「var_export()」を使用する | ★★☆ |
var_dumpの「string(5)」みたいな出力をなくす | 「print_r()」で出力する | ★☆☆ |
関数の呼び出し元の関数を特定する | echo debug_backtrace()[1]['function']; |
★★★ |
呼び出し元のクラス名を特定する | echo debug_backtrace()[1]['class']; |
★★★ |
ログを指定したファイルに出力する | error_logの第2引数に「3」 第3引数に出力させたいログパスを記載する error_log($message, 3, '/var/log/php/test_log'); |
★★★ |
var_dumpした値の文字化けを解消 | chromeのテキストエンコーディングを入れる https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlmhefphglae?hl=ja もしくは header('Content-Type: text/html; charset=UTF-8');<br>var_dump(配列);
|
★☆☆ |
var_dump()を見やすく出力する | echo '<pre>';var_dump($array); |
★★★ |
MySQLのエラーを表示する | echo mysql_error(); |
★☆☆ |
「echo 111;exit;」を簡潔に書く(Laravel/CakePHPの場合) | dd(111); | ★★☆ |