有人能告诉我如何对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中的测试函数。这更有优势。