Symfony Component Advent Calendar 2023の22日目の記事です。
ダンプをとるよ、"VarDumper"
VarDumperは、デバッグ用にダンプを出力するコンポーネントです。Symfony以外でも使えます。
インストール
composer require symfony/var-dumper --dev
使い方
Symfonyユーザにはお馴染みのdump()
が使えるようになります。
$item = new Item('商品名');
dump($item);
/**
Item {
-name: "商品名"
}
*/
echo dump($item)->getName(); // dumpは引数を返すので、そのままメソッドを呼び出せます。
/**
Item {
-name: "商品名"
}
商品名
*/
Twigでも利用可能です。
{{ dump(item) }}
ダンプサーバ
Symfonyの場合、普段はdump()
を実行すると、その場(ブラウザやコンソール)で表示されますが、そこで表示させずにひとつのコンソールに集約することができます。それがダンプサーバです。ダンプサーバを起動すると、すべてのdump()
がそこに集約されます。
bin/console server:dump
[OK] Server listening on tcp://127.0.0.1:9912
↓以下dump()を実行するたびに表示
GET https://localhost:8000/var/dump
-----------------------------------
------------ -------------------------------------------
date Thu, 21 Dec 2023 10:46:41 +0000
controller "App\Controller\VarDumpController::index"
source var_dump/index.html.twig on line 14
file templates/var_dump/index.html.twig
------------ -------------------------------------------
App\Dto\MealDto^ {#510
-type: App\Enum\MealType^ {#513
+name: "Dinner"
+value: "夕食"
}
-content: "シチュー"
}
$ bin/console app:var-dump
--------------------------
-------- ---------------------------------
date Thu, 21 Dec 2023 10:48:21 +0000
source VarDumpCommand.php on line 31
file src/Command/VarDumpCommand.php
-------- ---------------------------------
App\Dto\MealDto^ {#486
-type: App\Enum\MealType^ {#493
+name: "Breakfast"
+value: "朝食"
}
-content: "ほげ"
}
まとめ
今回はVarDumper
でした。ちょっと内容を出力したいなって時に便利です。