Как отследить PHP-файлы callstack, используемые для отображения страницы?

#php

#php

Вопрос:

Для многих веб-разработчиков «в спешке» (настройка CMS или простая помощь другу, умоляющему «пожалуйста, помогите, я не могу удалить этот div на моей странице WordPress») возникает одна общая проблема: какой код стоит за страницей, на которой находится наша проблема.

Тогда мой вопрос прост: есть ли какой-либо инструмент / метод, который может облегчить поиск скриптов, подразумеваемых при создании данной страницы в веб-приложении на основе php?

Что-то, что может построить дерево вызовов для данной страницы, было бы здорово!

Комментарии:

1. debug_backtrace() даст вам полную обратную трассировку PHP. Это часто очень помогает

Ответ №1:

xdebug предоставляет навигационный callstack и многое другое. На их странице документации есть длинный список замечательных вещей.

Ответ №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('<', 'amp;<', str_replace('>', 'amp;>', $var));
            }
            echo $var . "n</pre>n";
    }