2011-10-07 32 views
2

对于很多“急于”web开发(CMS定制或简单的帮助朋友开始帮助“请帮助,我不能删除我的wordpress页面上的这个div”),一个常见问题出现:什么是背后的代码页面我们的问题所在。如何跟踪PHP文件callstack用于呈现页面?

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

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

+1

['debug_backtrace()'](http://php.net/debug_backtrace)将为您提供完整的PHP回溯。这通常会有很大的帮助 –

回答

2

xdebug提供了一个调用堆栈通航,以及更多。在他们的文档页面上有一长串美妙的事物。

+0

http://xdebug.org/docs/execution_trace是我寻找的 – AsTeR

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"; 
    }