Я добавляю для шаблона (index.html.twig) просто:
{{ dump(product) }}
а у меня ошибка:
The function "dump" does not exist in AcmeStoreBundle:Default:index.html.twig at line 2
Почему эта функция не включена и как я могу ее включить?
Я добавляю для шаблона (index.html.twig) просто:
{{ dump(product) }}
а у меня ошибка:
The function "dump" does not exist in AcmeStoreBundle:Default:index.html.twig at line 2
Почему эта функция не включена и как я могу ее включить?
Вам нужно настроить расширение отладки:
# 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+, и определение пользовательского сервиса не требуется. Дополнительные сведения см. в этом ответе.
twig: debug: true
- person meze; 01.10.2014
composer update
(который обновился с Twig 1.15 до 1.16, и теперь он работает. Так что кто знает...
- person Chadwick Meyer; 02.10.2014
Когда вы настроите его, как сказал @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 %}
Вы можете использовать мой простой плагин для удобной проверки ваших переменных:
ОБНОВЛЕНИЕ Symfony 2.7+:
DebugBundle обеспечивает большую интеграцию компонента в фреймворк полного стека Symfony. Он включен по умолчанию в среде разработки и тестирования Symfony Standard Edition.
Проверьте компонент VarDumper и его интеграция в Twig.
СТАРЫЙ ОТВЕТ:
Я хотел бы предложить неродное решение. Вам понадобится сторонний комплект, но конечный результат будет отличным!
Улучшения версии dump
:
ldd()
, который является псевдонимом для классического "dump and die"php app/console ladybug:dump "Symfony\Component\HttpFoundation\Request"
)Вот ссылки:
VarDumper
: symfony.com/doc/current/components/
- person Francesco Casula; 06.12.2016