Как использовать дамп в TWIG?

Я добавляю для шаблона (index.html.twig) просто:

<code>{{ dump(product) }}
</code>

и у меня есть ошибка:

<code>The function "dump" does not exist in AcmeStoreBundle:Default:index.html.twig at line 2 
</code>

Почему эта функция не включена, и как я могу включить это?

 meze12 апр. 2012 г., 10:54
возможный дубликатHow to var_dump variables in twig templates?

Ответы на вопрос(3)

Symfony 2.7+ UPDATE:

DebugBundle позволяет лучше интегрировать компонент в среду полного стека Symfony. Он включен по умолчанию в среде разработки и тестирования Symfony Standard Edition.

ПроверитьКомпонент VarDumper И егоинтеграция на Twig.

OLD ANSWER:

Я хотел бы предложить не родное решение. Вам понадобится сторонний комплект, но конечный результат будет отличным!

Улучшения вdump версия:

all dumps are styled you can provide the max nesting level to avoid memory issues with large objects very useful helpers like ldd(), which is an alias for the classic "dump and die" it has a console dumper (eg. php app/console ladybug:dump "Symfony\Component\HttpFoundation\Request") it provides an integration with the Symfony Profiler it automatically detects Symfony, Doctrine, Twig and Silex classes, and links them to the official documentation

Вот ссылки:

knpbundles github
 06 дек. 2016 г., 18:23
на Symfony 2.7+ вам, вероятно, лучше с официальнымVarDumper составная часть:symfony.com/doc/current/components/…
 06 дек. 2016 г., 18:16
не работает в Symfony 3
Решение Вопроса

настроить расширение отладки:

# app/config/config.yml
services:
    acme_hello.twig.extension.debug:
        class:        Twig_Extension_Debug
        tags:
             - { name: 'twig.extension' }

По ссылке, упомянутой выше, отладка Twig по умолчанию работает в Symfony 2.5+ под управлением Twig 1.16+, и определение пользовательской службы не требуется.Смотрите этот ответ для более подробной информации.

 01 окт. 2014 г., 23:58
И для записи, я удалил пользовательскую конфигурацию, которую вы упомянули в этом ответе, поскольку ссылка, на которую вы ссылаетесь, говорит, что отладка Twig включена в среде разработчика по умолчанию.
 01 окт. 2014 г., 19:12
@ChadwickMeyer есть ссылка, которая говорит, что все, что вам нужно, это включить ее в конфигурацииtwig: debug: true
 01 окт. 2014 г., 23:57
Благодарю. Я сделал это, и это не сработало. Но я также обновил Symfony 2.4 до 2.5 и побежалcomposer update (который обновился с Twig 1.15 до 1.16 и теперь он работает. Так что, кто знает ...
 01 окт. 2014 г., 02:24
Я не знаю, являются ли они старыми или неполными ответами, но это определенно НЕ работает для меня. Я пробовал много разных версий этого ответа, но безрезультатно.
 03 окт. 2014 г., 11:18
@ChadwickMeyer не знает, почему ваше изменение было отклонено. Добавил вашу ссылку и проголосовал за ваш ответ. Благодарю.

как сказал @meze, вы можете отобразить все пользовательские переменные:

<h1>Variables passed to the view:</h1>
{% for key, value in _context %}
    {% if key starts with '_' %}
    {% else %}
        <pre style="background: #eee">{{ key }}</pre>
        {{ dump(value) }}
    {% endif %}
{% endfor %}

Вы можете использовать мой простой плагин для удобной проверки ваших переменных:

Twig Dump Bar

Ваш ответ на вопрос