查看图层模式,您只显示您所提供的内容,并且全部,但您如何知道可用的内容?TWIG中是否有"列出所有定义的变量"功能?有没有办法转储变量?
我通过搜索找到的解决方案是定义一个函数,我可以通过注入一个函数来使用我现有的php调试工具,但是我发现的所有引用都包含了这两行很好的代码,但是没有指定的地方在哪里放置它们.由于他们需要定义$ loader变量这一事实,我尝试了/app/config/autoload.php,但是那个$ loader是错误的.我在哪里放置PHP代码来添加树枝功能?
Ico*_*ood 249
从Twig 1.5开始,正确的答案是使用转储功能.它在Twig文档中有完整记录.这是在Symfony2中启用此功能的文档.
{{ dump(user) }}
Run Code Online (Sandbox Code Playgroud)
igo*_*orw 28
您可以使用此处debug记录的标记.
{% debug expression.varname %}
Run Code Online (Sandbox Code Playgroud)
编辑:从Twig 1.5开始,这已被弃用并被新dump功能所取代(注意,它现在是一个功能,不再是标签).另见:上面接受的答案.
Ale*_*and 17
所以我让它工作,部分有点hackish:
twig: debug: 1在app/config/config.yml将其添加到config_dev.yml
services:
debug.twig.extension:
class: Twig_Extensions_Extension_Debug
tags: [{ name: 'twig.extension' }]
Run Code Online (Sandbox Code Playgroud)sudo rm -fr app/cache/dev
print_r(),我打开vendor/twig-extensions/lib/Twig/Extensions/Node/Debug.php并更改print_r(为d(PS.我仍然想知道如何/在哪里获取$ twig环境来添加过滤器和扩展.
red*_*hka 15
如果您处于无法使用该dump功能的环境中(例如:opencart),您可以尝试:
{{ my_variable | json_encode(constant('JSON_PRETTY_PRINT')) }}
Run Code Online (Sandbox Code Playgroud)
Jul*_*lio 13
如果您在应用程序中使用Twig作为组件,则可以执行以下操作:
$twig = new Twig_Environment($loader, array(
'autoescape' => false
));
$twig->addFilter('var_dump', new Twig_Filter_Function('var_dump'));
Run Code Online (Sandbox Code Playgroud)
然后在你的模板中:
{{ my_variable | var_dump }}
Run Code Online (Sandbox Code Playgroud)
如果您使用Twig作为独立组件,这里是一些如何启用调试的示例,因为dump(变量)函数不太可能直接开箱即用
这是在icode4food提供的链接上找到的
$twig = new Twig_Environment($loader, array(
'debug' => true,
// ...
));
$twig->addExtension(new Twig_Extension_Debug());
Run Code Online (Sandbox Code Playgroud)
$app->register(new \Silex\Provider\TwigServiceProvider(), array(
'debug' => true,
'twig.path' => __DIR__.'/views'
));
Run Code Online (Sandbox Code Playgroud)
转储所有自定义变量:
<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 %}
Run Code Online (Sandbox Code Playgroud)
您可以使用我的插件为您做到这一点(可以很好地格式化输出):
| 归档时间: |
|
| 查看次数: |
163165 次 |
| 最近记录: |