2012-11-17 217 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