Я согласен, что на ваш вопрос есть большинство ответов.
Это то, что я, вероятно, сделал бы.
Я бы, вероятно, начал с инструментов Себастьяна Бергмана, особенно с phploc, чтобы вы могли получить представление о масштабах путаницы (кодовой базы), которую вы просматриваете. Он дает вам класс, количество функций и т. Д., А не только строки кода.
Далее я бы посмотрел в логах apache или в Google Analytics и получил 10 самых популярных php URL. Я бы настроил XDebug с профилированием и выполнил бы эти топ-10 запросов и получил бы файлы, дерево вызовов. (Вы можете просмотреть их с помощью инструмента cachegrinder)
Наконец, я прочитал бы весь путь выполнения одной или двух из этих трасс, которые наиболее характерны для всего. Я бы использовал Eclipse IDE, но распечатал их и поехал в город с маркером, который также действителен.
Метод 10 лучших может потерпеть неудачу, если несколько систем объединены. С помощью Xdebug вы должны быстро увидеть, закодированы ли топ-10 так же, если каждый является уникальным островом.
Я бы посмотрел на базы данных mysql и попытался понять, для чего они все, особенно при просмотре префиксов таблиц, у вас может быть пара разных приложений, расположенных друг над другом. Если есть большие части базы данных, не затронутые топ-10, вам нужно отправиться на охоту за подпапами. Если вы найдете другие подпрограммы, запустите их через профилировщик xdebug, а затем прочитайте один из путей, которые являются репрезентативными для этого подпрограммы.
Теперь вернитесь назад и посмотрите на свои области видимости из phploc и посмотрите, какой процент кодовой базы (вероятно, счетные классы или функции) не был затронут во время вашего обзора.
Вы должны иметь общее представление о наиболее часто выполняемом коде и иметь представление о том, сколько есть уголков и защелок для хранения скелета.