ZF2:如何始终显示堆栈跟踪

时间:2014-02-14 15:14:15

标签: zend-framework2

使用ZF2,当出现问题时,我会得到一个堆栈跟踪,但出于学习目的,我有时希望在事情正确时看到堆栈跟踪。我是否可以调用某些内容来填充页面上的堆栈跟踪,而不管错误是什么?

另外,有没有关于阅读\了解堆栈跟踪的好教程?对不起双重问题,但我认为我的第二个问题不应该发表自己的帖子。

2 个答案:

答案 0 :(得分:2)

您可以生成使用debug_backtrace()抛出异常时可用的类似信息。

在ZF2应用程序中,这可能会为您提供太多信息(并且它也是数组格式)。我写了一个非常简单的函数,我刚刚进入local.php来帮助调试;它可能会有所帮助。

function debug_light_trace()
{
    $backtrace = "Backtrace :-\n";
    $debug_backtrace = debug_backtrace();

    array_shift($debug_backtrace);

    foreach ($debug_backtrace as $trace) {
        $class      = (isset($trace['class']))?$trace['class']:'';
        $function   = (isset($trace['function']))?$trace['function']:'';
        $file       = (isset($trace['file']))?$trace['file']:'';
        $APP_ROOT   = dirname(dirname(__DIR__));
        $file       = str_replace($APP_ROOT, '', $file);
        $line       = (isset($trace['line']))?$trace['line']:'';
        $backtrace .= "{$file}({$line}) - {$class}::{$function}()\n";
    }
    return $backtrace;
}

关于更多信息,the documentation将是一个很好的起点(以及Google搜索)。我很快扫描了这个tuts plus guide;这也可能会给你更多背景知识。

答案 1 :(得分:0)

您也可以使用ZendDeveloperTools

这对开发者来说是一个很大的帮助。