PHP開発のデバッグ − var_dump()やprint_r()の結果をメールで送信する方法
PHPのデバッグ
PHPのデバッグで、変数の内容をvar_dump()やprint_r()を使って表示することがよくあるのですが、
時々、この結果をメールで送信したいと思うことがあります。
例えばAjaxなWEBアプリのサーバー側スクリプトでJSONオブジェクトを返すだけのプログラムを組んでいる場合などです。
出力制御関数
そのような場合には出力制御関数ob_*をつかうとよさそうです。*1
こんな感じ。
$hoge = array('hoge' => 'fuga','fuga' => 'hoge'); ob_start(); var_dump($hoge); $dump = ob_get_contents(); //<=ここでバッファを変数に格納 ob_end_clean(); //送信 mb_send_mail('[自分のメールアドレス]','debug',$dump);
以下の内容のメールが送られてきます。
array(2) { ["hoge"]=> string(4) "fuga" ["fuga"]=> string(4) "hoge" }
関数化
function get_dump($data){ ob_start(); var_dump($data); $dump = ob_get_contents(); ob_end_clean(); return $dump; }
皆さんはどのようにされているのでしょうか?
もっと良い方法があればご教授ください。