有人可以请教一下如何将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。
非常感谢提前。
答案 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的测试功能。这是更有利的。