質問
Twig(Inside Symfony2)を使用して、多次元配列を含む変数をデバッグしようとしていますが、最大3つの配列のみを出力します。
array
'Coating' =>
array
'type' => string 'single' (length=6)
'data' =>
array
0 =>
array
...
1 =>
array
...
2 =>
array
...
一方、print_rは生成されます
Array
(
[Coating] => Array
(
[type] => single
[data] => Array
(
[0] => Array
(
[id] => 1
[selectable] => 1
[name] => Front
)
[1] => Array
(
[id] => 7
[selectable] => 1
[name] => Back
)
[2] => Array
(
[id] => 13
[selectable] => 1
[name] => Both Sides
)
)
)
)
Twigにデバッグをしてもらいたい理由は、テンプレートがレンダリングされる前にコードを印刷することで、特定のページの出力を完全にごちゃごちゃにすることです。データを簡単に読み取ることができます。
「デバッグ」がデータを切り捨てる理由がわかりません...
編集:デバッグはの使用によるものです {% debug foobar %}
私のアプリの構成に以下を含めることにより、そのタグを有効にすることで:
services:
twig.extension.debug:
class: Twig_Extensions_Extension_Debug
tags: [ { name: 'twig.extension' } ]
解決
Twig Debug Extension(Class Twig_Extensions_Node_Debug)のソースコードを読んで、var_dumpを切り捨てません。おそらく切り捨てられているのはXdebugです。var_dumpphp.netドキュメントに関するコメントを引用します。
Xdebugがインストールされている場合は、Array要素とオブジェクトプロパティのvar_dump()出力が3レベルの深さに制限されます。
デフォルトを変更するには、xdebug.iniファイルを編集し、次の行を追加します:xdebug.var_display_max_depth = n
所属していません StackOverflow