symfony2 doctrine2中的var_dump数据太多

我有大约40个实体和许多双向关系。 每当我使用var_dump($用户)或任何实体我的浏览器被加载了太多的数据和variables的数据,然后它只是坠毁。

我想要什么问题。

数据插入正常。 我可以在生产中引起问题吗?

var_dump()replace为Doctrine Common提供的debug方法dump()

\Doctrine\Common\Util\Debug::dump($user); 

它适用于单个对象和Doctrine集合,并应防止浏览器显示您遇到的问题。

格式良好:

 echo '<pre>'; \Doctrine\Common\Util\Debug::dump($user, $recurciveLevelToDisplay); echo '</pre>'; 

简单而简单的例子。

 var_dump(serialize($Object)); 

问题是,在双向关系中,两个实体之间都有一个链接,因此在显示entity1的同时,var_dump也必须打印entity2的所有属性,其中包括entity1本身给你一个循环。

get_object_vars()也改善了可视化。

 echo "<pre>"; \Doctrine\Common\Util\Debug::dump(get_object_vars($user)); 

只需使用echo serialize($ user);

使用转储($用户),你可以在Symfony Profiler中看到完美的结果! 祝你好运

Symfony <2.6

你可以使用\Doctrine\Common\Util\Debug::dump($variable, $depth); 它显示没有代理信息的原则输出。

Symfony> 2.6

如果您使用的是symfony 2.6或更高版本,我强烈build议您使用dump() 。 它显示一个很好的格式化和彩色的输出,你可以dynamic地扩大/隐藏行。 在这里输入图像说明

使用Symfony 2.6,你现在可以在你的控制器中使用dump($ var),在twig中使用{{dump(var)}}。

确保将这个添加到你的AppKernal.php文件中,在数组('dev','test')部分。

 $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();