symfony - Twig 的转储函数返回一个空白屏幕

标签 symfony twig

我正在使用 Twig 的 dump Symfony2 中的函数。我已经根据 its instructions 配置了 Symfony .

我有一个 page变量和 orders大批。 dump适用于页面,但不适用于订单。当我在订单上调用它时,我得到一个白屏 - 没有 php 错误或任何东西。我不知道如何调试它。

有任何想法吗?

最佳答案

一点解释

在这种情况下,白色(空白)屏幕表示 PHP fatal error :允许的内存大小已用尽。在我的调查中,我发现 Twig 使用 var_dump功能 虽然我安装了 VarDumper 组件。

我认为它可以在未安装 VarDumper 组件的情况下工作,但 twig 的 dump() symfony 的 VarDumper 组件文档中涵盖的功能就像一个复杂的解决方案,这很奇怪。

所以,使用 VarDumper 的 dump()函数代替原生 var_dump()解决内存问题 (因为 VarDumper 将结果转储收集限制在足够的数量)。还有 VarDumper 的 dump()提供更方便的结果 - 您可以单击树叶以显示/隐藏其内容。

你具体需要做什么

  • Install VarDumper component如果未安装
  • 转到文件:vendor/twig/twig/lib/Twig/Extension/Debug.php
  • 查找 twig_var_dump功能
  • 全部替换var_dump()调用dump()
  • 删除/评论ob_start() + ob_get_clean() build (这是需要的
    如果您使用 var_dump()因为它会立即回显数据,但 dump()演戏
    更智能)

  • 或者

    使用以下方法复制 + 替换整个函数:
    function twig_var_dump(Twig_Environment $env, $context)
    {
        if (!$env->isDebug()) {
            return;
        }
    
        $count = func_num_args();
        if (2 === $count) {
            $vars = array();
            foreach ($context as $key => $value) {
                if (!$value instanceof Twig_Template) {
                    $vars[$key] = $value;
                }
            }
    
            dump($vars);
        } else {
            for ($i = 2; $i < $count; $i++) {
                dump(func_get_arg($i));
            }
        }
    
    }
    

    PS:问题是在2013年提出的,但我希望它有所帮助,因为我现在遇到了这个问题。

    我的背景:
    "symfony/symfony": "2.5.*"
    "symfony/var-dumper": "~2.6"
    

    关于symfony - Twig 的转储函数返回一个空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913859/

    相关文章:

    forms - symfony2 表单中找不到实体错误

    php - Symfony 翻译不起作用

    php - Twig PHP : Incrementing and Subtracting A Value In A Foreach

    html - 垂直放置表格内容

    javascript - [交响乐+ Twig ]

    symfony - Symfony2获取实体上的验证约束

    php - FOSUserBundle 'Class ' FOS\UserBundle\FOSUserBundle' 在 app/AppKernel.php 中找不到的 Symfony 2.1 配置

    php - 依赖注入(inject)与静态

    javascript - 对象内的数组未定义 JS

    php - Symfony2 数据库配置