Записать, какие файлы являются частью исполнения?(включено, обязательно, загружено) - PullRequest
3 голосов
/ 28 ноября 2011

[Это вопрос покрытия кода , только то, что я надеюсь использовать его в производстве с целью точного определения кода, который можно удалить.]

Можно ли как-то записатькакие файлы являются частью исполнения PHP?То есть, когда файл загружается как часть выполнения некоторой точки входа, есть ли способ записать этот факт?Т.е. когда файлы включаются, требуются или загружаются как часть загрузки классов - в дополнение к самому файлу php точки входа?(Часть загрузки классов, пожалуй, самая простая, так как вы можете работать с загрузчиком классов самостоятельно.)

Справочная информация: у меня есть кодовая база с некоторым наследием - и, как попытка очистки, было бы неплохо удалить файлыкоторые больше не используются.Этот трюк дал бы мне понять, какие файлы используются.Запустите эту запись достаточно долго, и вы можете просто удалить все нетронутые.

«Уровень 2»: Возможно, включены файлы, которые на самом деле не используются - т.е. включена некоторая библиотека функций, но выполнение никогда не выполняетсяиспользует любые функции там.Как отследить это?Является ли XDebug и другие довольно навязчивые способы единственной возможностью?

Ответы [ 3 ]

3 голосов
/ 28 ноября 2011

Если вы ищете включенные файлы: -

get_included_files();

http://php.net/manual/en/function.get-included-files.php

Чтобы отслеживать список загруженного класса, Xdebug должен быть лучшим выбором.
Или APD: расширенный отладчик PHP

Взгляните на apd_callstack, там можно найти что-то удивительное.

2 голосов
/ 28 ноября 2011

http://www.php.net/manual/en/function.get-included-files.php?

Насколько мне известно, auutoload требует только

0 голосов
/ 28 ноября 2011

Я полагаю, что вы можете использовать некоторые выходные данные debug_backtrace ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...