如何剥离Twig模板中的Debug信息

3.4 版本
维护中的版本

当使用php代码时,我们可以使用dump()来快速的查看一个值的变量传递。它非常有用,例如,在你的控制器里:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/AppBundle/Controller/ArticleController.php
namespace AppBundle\Controller;
 
// ...
 
class ArticleController extends Controller
{
    public function recentListAction()
    {
        $articles = ...;
        dump($articles);
 
        // ...
    }
}

工具条会渲染dump()函数

在twig模板中使用dump函数达到相同的机制

1
2
3
4
5
6
7
8
{# app/Resources/views/article/recent_list.html.twig #}
{{ dump(articles) }}
 
{% for article in articles %}
    <a href="/article/{{ article.slug }}">
        {{ article.title }}
    </a>
{% endfor %}

如果Twig的debug设置(config.yml)为true,这个变量才会抛出。默认情况下,这意味着变量只能在dev环境抛出,而不能在prod环境。

本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。

登录symfonychina 发表评论或留下问题(我们会尽量回复)