如何跟踪用于呈现页面的PHP文件callstack?

时间:2011-10-07 16:25:19

标签: php

对于许多“匆忙”网页开发(CMS定制或简单帮助朋友开始“请帮助,我无法在我的wordpress页面上删除这个div”)出现一个常见问题:背后的代码是什么我们问题所在的页面。

然后我的问题很简单:是否有任何工具/方法可以在基于php的webapp上轻松搜索给定页面制作中隐含的脚本?

可以为给定页面构建调用树的东西会很棒!

2 个答案:

答案 0 :(得分:2)

您正在寻找debug_backtrace()

这是一个特别有用的功能,取自CakePHP框架:

function debug($var = false, $showHtml = false, $showFrom = true) {
            if ($showFrom) {
                $calledFrom = debug_backtrace();
                echo '<strong>' . substr(str_replace(ROOT, '', $calledFrom[0]['file']), 1) . '</strong>';
                echo ' (line <strong>' . $calledFrom[0]['line'] . '</strong>)';
            }
            echo "\n<pre class=\"debug\">\n";

            $var = print_r($var, true);
            if ($showHtml) {
                $var = str_replace('<', '&lt;', str_replace('>', '&gt;', $var));
            }
            echo $var . "\n</pre>\n";
    }

答案 1 :(得分:2)

xdebug提供了一个可导航的callstack等等。在他们的文档页面上有很多很棒的东西。