LoginSignup
0
0

ダンプをとるよ、"VarDumper"

Last updated at Posted at 2023-12-21

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でした。ちょっと内容を出力したいなって時に便利です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0