在zf2中是否有类似于"debug_backtrace()"的函数来观察调用堆栈,或者是否有任何方法


Is there any `debug_backtrace()` function analogue to watch call stack in zf2 or is there any approach to debug call trace in zf2?

简介

我在zf2中出现了一个奇怪的错误。我不知道为什么,但我遇到了一些路由错误。我没有收到任何消息,但所需的控制器没有加载,但另一个加载了。所有看起来都很好,所以请这里帮助我解决这个问题不是一个好主意,所以我正在尝试自己调试。


我试过什么

我在/public/index.php文件中尝试了debug_backtrace()函数,如下所示:

// Setup autoloading
require 'init_autoloader.php';
// Run the application!
Zend'Mvc'Application::init(require 'config/application.config.php')->run();
var_dump(debug_backtrace());

它什么也没显示。

只是为了检查功能是否正常,我尝试了:

function bob() {
    var_dump(debug_backtrace());
}
bob();

这向我展示了传递了什么参数,调用了什么函数等。这向我表明,该函数执行正确,但在我的情况下没有使用该函数。


问题

有什么方法可以获取应用程序中执行的功能吗?

我想您有点误解了debug_backtrace()的作用。它列出了导致代码中回溯所在位置的函数调用。因此,在您的bob()示例中,它将显示该函数(就像调用bob()一样(。但是,如果您只是在public/index.php中调用debug_backtrace(),那么它不会在任何函数中执行,这就是为什么您没有得到任何输出的原因。

我不确定安装不同的堆栈有多合理,但ZendServer内置了代码跟踪/分析功能,这正是您想要的。