Можно ли в PHP получить список всех include-ных файлов?

То есть, выполняется скрипт index.php, вызывает другие скрипты, те третьи и т. д. А я хочу в результате получить полный список вызванных файлов, в идеале — с номерами строк вызова.
  • Вопрос задан
  • 4482 просмотра
Пригласить эксперта
Ответы на вопрос 6
zizop
@zizop
Если сильно заморочиться, то можно сделать вот так:

1. Подключаем runkit.
2. Переопределяем функции инклюда: include(), include_once(), require(), require_once() на свои, который будут обертками для оригинальных.
3. В обертке через debug_backtrace() узнаем кто вызвал функцию, и собираем вызовы в лог.
Ответ написан
lashtal
@lashtal
xdebug:
xdebug_start_code_coverage()… xdebug_get_code_coverage()
— возвращает все заинклуженные файлы и номера выполненных строк.
Ответ написан
@bav
Можно узнать номера строк для ЧАСТИ проинклуженных файлов используя бектрейс:

php.net/manual/en/function.debug-backtrace.php
Ответ написан
conf
@conf
Ruby developer
Если вам для профайлинга, то рекомендую вот эту статью: css.dzone.com/news/profiling-php-application
Особенно хорош xhgui над xhprof.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы