我有大约 40 个实体和许多双向关系。每当我使用 var_dump($user) 或任何实体时,我的浏览器都会加载太多的数组和变量数据,然后它就崩溃了。
我想知道什么问题。
数据插入正常。我可以在生产中引起问题吗?
我有大约 40 个实体和许多双向关系。每当我使用 var_dump($user) 或任何实体时,我的浏览器都会加载太多的数组和变量数据,然后它就崩溃了。
我想知道什么问题。
数据插入正常。我可以在生产中引起问题吗?
将var_dump()替换为Doctrine Common提供的调试方法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));
使用 Symfony 2.6,您现在可以在控制器中使用 dump($var) 并在 twig 中使用 {{ dump(var) }}。
确保将其添加到您的 AppKernal.php 文件的 array('dev', 'test') 部分。
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
使用 dump($user) 你可以在 Symfony Profiler 中看到完美的结果!祝你好运
只需使用 echo serialize($user);