我简单地添加模板(index.html.twig):
{{ dump(product) }}
我有错误:
The function "dump" does not exist in AcmeStoreBundle:Default:index.html.twig at line 2
为什么不启用此功能,以及如何启用此功能?
答案 0 :(得分:15)
您需要to configure调试扩展程序:
# app/config/config.yml
services:
acme_hello.twig.extension.debug:
class: Twig_Extension_Debug
tags:
- { name: 'twig.extension' }
根据上面提到的链接,Twig调试默认设置为在运行Twig 1.16+的Symfony 2.5+中工作,并且不需要自定义服务定义。 See this answer for more details
答案 1 :(得分:2)
Symfony 2.7+更新:
DebugBundle允许将组件更好地集成到Symfony全栈框架中。默认情况下,它在Symfony标准版的开发和测试环境中启用。
检查VarDumper component及其integration on Twig。
OLD ANSWER:
我想建议一个非原生的解决方案。你需要一个第三方软件包,但最终结果会很棒!
dump
版本的改进:
ldd()
,它是经典“转储和死亡”的别名php app/console ladybug:dump "Symfony\Component\HttpFoundation\Request"
)这里有链接:
答案 2 :(得分:2)
当您配置它像@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 %}
您可以使用我的简单插件方便地检查您的变量: