我有大约40个实体和许多双向关系。 每当我使用var_dump($ user)或任何实体时,我的浏览器都会加载过多的数组和变量数据,那么它就会崩溃。
我想知道这个问题。
数据插入正常。我可以在生产中引起问题。
答案 0 :(得分:217)
将 var_dump()替换为dump()提供的调试方法 Doctrine Common 。
\Doctrine\Common\Util\Debug::dump($user);
它适用于单个对象和Doctrine集合,并且应该阻止浏览器显示您遇到的问题。
答案 1 :(得分:20)
格式良好:
echo '<pre>';
\Doctrine\Common\Util\Debug::dump($user, $recurciveLevelToDisplay);
echo '</pre>';
答案 2 :(得分:4)
简单易行的例子。
var_dump(serialize($Object));
答案 3 :(得分:3)
Symfony&lt; 2.6 强>
您可以使用\Doctrine\Common\Util\Debug::dump($variable, $depth);
显示没有代理信息的学说输出。
Symfony&gt; 2.6 强>
如果您使用的是symfony 2.6或更高版本,我强烈建议您使用dump()
。
它显示了良好的格式和彩色输出,您可以动态地扩展/隐藏行。
答案 4 :(得分:2)
问题在于,在双向关系中,两个实体都有相互链接,因此在显示entity1时,var_dump还必须打印entity2的所有属性,包括entity1本身给你一个循环。
答案 5 :(得分:2)
get_object_vars()也改善了可视化效果。
echo "<pre>";
\Doctrine\Common\Util\Debug::dump(get_object_vars($user));
答案 6 :(得分:2)
使用Symfony 2.6,您现在可以在控制器中使用dump($ var),在树枝中使用{{dump(var)}}。
确保将其添加到数组('dev','test')部分的AppKernal.php文件中。
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
答案 7 :(得分:2)
使用dump($ user),你可以在Symfony Profiler中看到完美的结果!祝你好运
答案 8 :(得分:1)
只需使用 echo serialize($ user);