2012-11-17 177 views
0

我很难使用ZF2,因为我不能像使用debug_print_backtrace()那样正常使用它。Zend Framework 2 debug_backtrace()

它向我展示了来自Zend \ Mvc \ MvcEvent对象的大量数据。输出看起来像这样:

#1 Zend\Mvc\Controller\AbstractActionController->onDispatch(Zend\Mvc\MvcEvent Object (.... A LOT OF DATA 
,[SERVER_SOFTWARE] => Apache/2.2.20 (Ubuntu),[SERVER_NAME] => zf.localhost.com,[SERVER_ADDR] => 127.0.0.1,[SERVER_PORT] => 80, .... SOME SERVER PARAMETERS 
Apache/2.2.20 (Ubuntu) Server at zf.localhost.com Port 80 
... 

有没有办法不显示所有这MvcEvent的内容,但仍然看到回参数?

回答

2

如果您只是想删除第一行(即MvcEvent),请记住 - debug_backtrace()返回一个数组。没有什么能够阻止你转移或弹出你不想要的数据!

(array_shift() - 删除一个数组的第一个元素array_pop() - 删除最后他们有非常方便的情况下,这样的:-))。

+0

嗨,谢谢你的回答!这是做到这一点的一种方法。但它不会帮助我在debug_print_backtrace()中。也许有另一种方法来解决这个问题? – wormhit

+0

哦,对不起!我没有看到你正在使用debug_print_backtrace,假设你使用的是数组形式。 切换到数组返回函数,或输出缓冲来自debug_print_backtrace的打印输出并编辑出(使用正则表达式或标准字符串函数)您不想要的值? –

+0

是的,我认为你是对的。我将需要创建一些全局可用的debug_backtrace函数,它将过滤回溯结果,以便它可以再次使用。如果没有更好的表现,我会明天接受你的回答。干杯! – wormhit

2

你已经安装了XDebug?我发现XDebug在调试ZF2问题时非常宝贵,因为您可以使用var_dump和其他一些命令来限制显示的对象深度。

这和更多信息的例子可以在http://xdebug.org/docs/display

找到然后,您可以使用var_dump(debug_backtrace())的少量输出。

+0

很好的答案!谢谢! – wormhit