当我使用 debug_backtrace 在 php 中检索堆栈跟踪时,我可以让它包含调用它的对象。能够看到对象的公共和私有属性对我来说非常有用,但是对象太大而无法使用。由于其中的某些变量包含其他对象,因此仅将其打印出来是不可行的-我尝试将 debug_print_backtrace 的输出写入文件,并且在发生故障并停止输出之前它达到了 23G。
我真正需要的是让这个输出限制自己进入一层深度 - 也就是说,输出对象的所有属性,但如果其中一个是另一个对象,而不是进一步列出我需要的所有属性是它的类名。
我知道我可以使用 get_object_vars 来获取对象的公共属性,但是如何获取私有属性呢?print_r、var_export、var_dump 等都是没用的,因为我无法阻止它们递归。