Featured image of post Twigでどのような変数が渡されているのかわからないときに調べる方法

Twigでどのような変数が渡されているのかわからないときに調べる方法

Twitter ツイート Hatena Bookmark ブックマーク

サードパーティのライブラリとか触っているとtwigにどのような変数がセットされているのかわからない時が多々あります。
xdebug + ブレークポイントを設定して、なんとか変数をtwigにセットしているコードを探し出すのを毎回するのは苦労します。

dumpを使ってセットされた変数を確認する

twigにはdumpという関数が用意されています。
使い方は以下のように引数に変数を与えて上げるだけです。

1
{{ dump(hoge) }}

しかしdumpは hoge という変数を渡さなくても使うことができます。

1
{{ dump() }}

これで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() }} を使いましょう。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。