2013-02-27 148 views
2

我遇到了dump()中的dump()問題。Symfony2和Twig轉儲問題

我無法完全轉儲我返回到我的樹枝模板的對象的值。我的對象,如下所定義,由產品對象qty key/val,OnOrder key/val和avgUnitCost key/val組成。

我能夠使用轉儲(qty),轉儲(OnOrder),轉儲(avgUnitCost)並查看這些值。

我不能在產品上使用dump()來查看產品對象的key/val。我所得到的只是一個死亡的白頁。

我已經在其他地方讀過它,它是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, 
    )); 

這裏是我的問題的膽量: 如何纔能有效地使用樹枝來訪問對象的元素,無論是轉儲還是其他方法。我需要能夠看到對象中的所有元素,以便我可以根據需要將它們放在頁面上。

非常感謝您的幫助!

+1

在Symfony + Twig的上下文中,我的測試讓我懷疑它是由於循環引用導致的內存泄漏:如果內存使用無限增加,基本上沒有足夠的內存就足夠了。否則,它只是一堆非常重的物體被傾倒。 – 2013-12-21 23:32:10

+0

如果您在渲染之前在控制器中嘗試var_dump($ entity),則Chrome會顯示無限長的頁面,並在PHP超時之前不斷添加內容。所以是的,那裏肯定有一個問題,因爲知道Twig的dump()在內部使用var_dump。是的,這是由於雙向關係。 – Jivan 2014-01-26 12:38:47

回答

4

檢查LadybugBundle。你可以轉儲一切。

+0

謝謝你在這個捆綁! – LargeTuna 2013-03-22 17:51:35

+0

感謝x1000對此,Smoreno – Jivan 2014-01-26 12:46:31

+1

瓢蟲項目已被放棄https://github.com/raulfraile/LadybugBundle/issues/79 – 2016-06-16 21:06:29

0

嘗試增加在twig_var_dump一個破發點:

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

然後你可以使用你的調試器的功能...