2011-10-22 125 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);

相關問題