
Twigでどのような変数が渡されているのかわからないときに調べる方法
サードパーティのライブラリとか触っているとtwigにどのような変数がセットされているのかわからない時が多々あります。
xdebug + ブレークポイントを設定して、なんとか変数をtwigにセットしているコードを探し出すのを毎回するのは苦労します。
dumpを使ってセットされた変数を確認する
twigにはdumpという関数が用意されています。
使い方は以下のように引数に変数を与えて上げるだけです。
|
|
しかしdumpは hoge
という変数を渡さなくても使うことができます。
|
|
これでtwigにセットされている変数をすべて確認することができます。
twigのコードを確認してみる
twigのdebug()関数はtwig_var_dumpを呼び出しているだけです。
第1引数の$env
と第2引数の$context
はdump()呼び出し時に設定さています。
dump(hoge)
とtwig側で書くと第3引数の$vars
に配列として渡されることになります。
$varsに値がある場合は$varsの内容をvar_dumpし、なければ$contextの値をvar_dumpしていることになります。
ちなみに余談ですがdebug関数は {{ dump(a,b) }}
といった複数の変数を渡すことも可能です。。
まとめ
twigにどのような変数がセットされてるか手っ取り早く知りたい場合は {{ dump() }}
を使いましょう。