Zend Framework 1对象内部的var_dump对象

时间:2015-04-02 10:15:41

标签: php zend-framework

有人可以请教一下如何将var_dump()作为Zend_Application对象吗?

object(Bootstrap)[3]
public 'frontController' => null
protected '_appNamespace' => boolean false
protected '_resourceLoader' => null
   protected '_application' => 
   object(Zend_Application)[1]
       protected '_autoloader' => 
       object(Zend_Loader_Autoloader)[2]
           protected '_autoloaders' => 
               array (size=0)
...

我可以使用var_dump($this->bootstrap('view')); var_dump Bootstrap对象,但我无法弄清楚如何对嵌套的Zend_Application对象进行var_dump。

非常感谢提前。

2 个答案:

答案 0 :(得分:3)

首先,在Zend Framework 1中,您可以/应该使用:

Zend_Debug::dump($whatever);

而不是:

var_dump($whatever);

您可以转储应用程序,但它不会为您提供所有内容。您可以更改index.php:

Zend_Debug::dump($application);

之后:

$application->bootstrap()
            ->run();

这里最重要的是永远不要忘记zf是开源的,你可以进入代码看看它,把Zend_Debug :: dump()放到你喜欢的任何地方,这样你就可以做你想做的事。完成后,只需将zend文件恢复为原始文件即可。

最后一点:您可能甚至可能不需要像这样转储zend应用程序。我不知道你的代码有什么问题,但它怀疑它真的"真的" zend的一个问题。阅读应用程序对象,bootstrap和zend的mvc一般应该帮助你。

希望这有帮助!

Dorian M.补充道:您还可以扩展Zend对象以在您自己的函数中添加转储并且不会弄乱原始代码

答案 1 :(得分:0)

如果您需要var_dump()测试代码,我建议您使用phpUnit的测试功能。这是更有利的。