Debug Twig усекает массивы?
Вопрос
Я пытаюсь использовать Twig (Inside Symfony2) для отладки переменной, которая содержит многомерный массив, но он выводит только до трех массивов:
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 (класс TWIG_EXTENSIONS_NODE_DEBUG), и он не усекает var_dump. Вероятно, это усекает xdebug: я цитирую комментарий к документации var_dump php.net:
Имейте в виду, что если у вас установлен XDEBUG, он ограничит выходные элементы массива и свойства объекта до 3 уровней.
Чтобы изменить по умолчанию, отредактируйте свой файл xdebug.ini и добавьте линию Folllowing: xdebug.var_display_max_depth = n