phpのvar_dumpを見やすくするライブラリ「symfony var-dumper」



phpのvar_dumpをより見やすくするライブラリsymfony var_dumperの紹介です。

PHPにはprint_r、var_dump等のデバック関数が備わっていますが、配列やオブジェクトの数が多いと劇的に見辛くなります。preタグを噛ませることで幾らかマシにはなりますが、オブジェクトが数十、数百となると見通しは悪いままです。

下記の様な関数をプロジェクトで見かけた OR 作ったことがあるのではないでしょうか。

// preタグを噛ます例
function dump_object($arr)
{
    echo '<pre>';
    var_dump($arr); // or print_r($arr)
    echo '</pre>';
}

上記の関数でもマダマダ使い勝手がイマイチなのでsymfony/var_dumperを導入してみましょう。

このライブラリを使うとブラウザ上でオブジェクトをdumpした時の見た目が下記のように変わります。

右がvar_dumperを使って配列をdumpした画像 ( *129個の配列をdumpしています )


Symfony var_dumperの導入 〜 使い方

var_dumperはSymfonyコンポーネントの1つとして提供されておりcomposerを使ってインストールします。
( SymfonyやLaravelフレームワークにはデフォルトで搭載されています *Laravelでは dd() 関数 )

# プロジェクトルート上で下記のコマンドでインストールが開始されます
composer require symfony/var-dumper
# composer.jsonに直接記載する場合
"symfony/var-dumper": "^3.0"

# その後下記のコマンドでインストール
composer install 


インストールを終えるとuseメソッドでクラスをインポートすることなく、そのままdump関数を使えるようになります。

// var_dumperの使い方
$exp_arr = ['a','b','c', 'd'];

dump($exp_arr);

// Illuminate/Supportが導入されていれば下記の関数を使うと表示が変わります
// dd($exp_arr);

上のコードを実行した結果 ( *右はdd()関数を使用 )

composerを導入していて、codeigniterやslim OR 自前のフレームワークを使って開発している人は重宝しそうなライブラリですね。

The VarDumper Component (The Symfony Components)

 

この記事のカテゴリ
プログラミング

この記事のタグ