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;
}

皆さんはどのようにされているのでしょうか?
もっと良い方法があればご教授ください。

*1:php.iniのoutput_bufferingを有効にしておく必要があります。