当前位置:  开发笔记 > 编程语言 > 正文

为什么var_dump一个Doctrine Objects会杀死我的Apache?

如何解决《为什么var_dump一个DoctrineObjects会杀死我的Apache?》经验,为你挑选了2个好方法。

我有一个非常奇怪的问题,当我尝试var_dump(或print_r)一个Doctrine对象时,我的Apache响应空白页(200 OK标题).我可以var_dump像普通的php var一样:

$dummy = array("a" => 1, "b" =>2);

它工作正常.但我不能使用任何Doctrine类中的任何对象($connection->query()例如,来自我的Doctrine对象模型的类的实例).

谁知道为什么会这样?



1> Mariano Arga..:

延迟加载代理总是包含Doctrine的EntityManager及其所有依赖项的实例.

因此,var_dump可能会转储一个无法呈现和读取的非常大的递归结构.您必须使用\Doctrine\Common\Util\Debug::dump()将转储限制为人类可读的级别.请注意,此函数的默认深度设置为2(它是第二个参数)



2> Julien..:

使用该类的toArray方法Doctrine_Record

var_dump($doctrine_record->toArray());

将只显示数据库字段,并避免转储完整的Doctrine内部(包含自引用/递归顺便说一句)

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有