2011-10-22 205 views
0

我正在使用Zend,并且涉及到很多对象。有时候,我只想打印这些对象,因为它动态地设置了很多setter和getter以及诸如方法之类的其他东西。这对我来说确认我是理解它的方式。类似var_dumping数组并查看其结构,有没有办法可以为类的对象执行此操作?PHP:有没有办法打印所有已创建的对象?

+0

您可以使用反射API做就像获得一个类的所有方法一样,但是就Zend Framework“动态地”执行某些事情而言,通常使用'__call'和'__get'这些东西,Reflection对此无能为力。 –

+0

对不起,如果我滥用术语。 “动态”更合适的词是什么? – Strawberry

+0

我想这不是我认为选择不好的“动态”部分,而是ZF动态设置方法。 PHP(没有一些不常见的扩展)不允许你添加方法到现有的类,它使用了“魔术方法”,你可以使用它来模仿时尚之后的那种行为。这意味着,即使使用其他一些功能,可以列出所有方法,但您经常看不到整个画面。 –

回答

2

从PHP 5开始,print_r()可以以类似于显示数组的方式输出对象的属性。

0

也可以使用var_dump()作为对象。它不仅限于阵列。可以使用print_r($obj)。当与HTML工作,避免打印对象/数组时,你可以键入具有一个单行输出:

echo '<pre>print_r($obj, true)</pre>'; 

或者Zend Framework中您可以使用Zend_Debug::dump($obj, $label = null, $echo = true);

相关问题