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();