对象内部的Zend Framework 1 var_dump对象


Zend Framework 1 var_dump object inside object

有人能告诉我如何对Zend_Application对象进行var_dump()操作吗?

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'));对Bootstrap对象进行var_dump,但我不知道如何对嵌套的Zend_Application对象进行var_dump。

非常感谢。

首先,在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的问题。阅读应用程序对象、引导程序和zend的mvc应该会对您有所帮助。

希望这能有所帮助!

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

如果测试代码需要var_dump(),我建议您使用phpUnit中的测试函数。这更有优势。