【问题标题】:Symfony2 and Twig Dump IssueSymfony2 和 Twig 转储问题
【发布时间】:2015-08-13 21:57:50
【问题描述】:

我在 Twig 中遇到了 dump() 的问题。

我无法完全转储要返回到我的树枝模板的对象的值。我的对象(如下定义)由产品对象、qty key/val、OnOrder key/val 和 avgUnitCost key/val 组成。

我能够使用 dump(qty)、dump(OnOrder)、dump(avgUnitCost) 并查看这些值。

我无法在产品上使用 dump() 来查看产品对象的键/值。我得到的只是死亡的白页。

我在堆栈的其他地方读到这是 php.ini 文件中的内存问题。这似乎无法解决问题,我设置了 1024M,但它仍然超时并给我白屏。

我也读过这篇关于同一问题的文章:http://hectorpinol.com/twig-debug-in-symfony-2/ ...他认为这是一个“双向关联问题”。

无论如何,这里是我用来传递对象和渲染我的树枝模板的代码......

return $this->render('TestBundle:Event:view.html.twig', array(
            'heading' => 'View Product',
            'product' => $product,
            'qty' => $qty,
            'OnOrder' => $OnOrder,
            'avgUnitCost' => $avgUnitCost,
    ));

这是我的问题的核心: 如何有效地使用 twig 访问对象的元素,无论是转储还是其他方法。我需要能够查看对象中的所有元素,以便可以根据需要将它们放置在页面上。

非常感谢您的帮助!!!

【问题讨论】:

  • 在 Symfony + Twig 的上下文中,我的测试让我怀疑这是由于循环引用导致的内存泄漏:如果内存使用量无限上升,基本上没有足够的内存。否则只是一堆非常重的东西被倾倒。
  • 如果您在渲染之前在控制器中尝试 var_dump($entity),Chrome 会显示一个无限长的页面,并继续添加内容直到 PHP 超时。所以是的,那里一定有一个问题,知道 Twig 的 dump() 在内部使用 var_dump 。是的,这是由于双向关系。

标签: symfony error-handling twig dump


【解决方案1】:

检查LadybugBundle。你可以倾倒一切。

【讨论】:

【解决方案2】:

尝试在 twig_var_dump 中添加断点:

/vendor/twig/twig/lib/Twig/Extension/Debug.php(在底部)

然后你就可以使用你的调试器的功能了……

【讨论】:

    【解决方案3】:

    看看这个答案:https://stackoverflow.com/a/29302069/4102223

    这是我解决这个问题的方法,只需在一个地方更改几行(这更容易,因为不需要包含新的包并阅读其文档)。

    【讨论】:

      猜你喜欢
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多