Я унаследовал очень грязный проект. В нем есть как минимум 3 версии.
Есть ли утилита, которая может отслеживать PHP-код из основного index.php, чтобы я мог выяснить, что не используется и что есть, или я застрял, делая ручную очистку?
благодаря
* Обновление *
Я не думаю, что мне было ясно, что я ищу, или я не понимаю, как работают упомянутые продукты. Я ищу что-то, что можно запустить в папке (каталоге) и выполнить проект, и дать мне отчет о том, какие файлы на самом деле ссылаются или используются (в случае изображений, CSS и т. Д.).
Этот проект имеет несколько тысяч файлов, и это очень маленький проект. Я пытаюсь очистить его, и когда я делаю «поиск в файлах» в своей IDE, я получаю 3 или 4 ссылки и не могу легко сказать, какой из них является правильным.
Надеюсь, это делает его немного яснее.
Программное обеспечение перекрестных ссылок действительно позволяет вам изучить, какие функции используются для чего.
PHPXref неплохо ..
Например, Yoast использовал его для перекрестной ссылки на PHP-код WordPress . Взгляните на пример WordPress, насколько он силен.
Например, начните с просмотра соединительной линии WP . Нажмите на некоторые из названий файлов слева и посмотрите, как перечислены необходимые файлы, а также определенные классы и методы и т. Д. И т. Д.
Есть несколько утилит, которые могут это сделать, в первую очередь, это встроенный оптимизатор Zend Studio, который будет запускаться через ваши файлы и выдавать уведомления для каждого файла, включая неиспользуемые переменные, предупреждения и т. Д. Кроме того, вы можете запускать свою программу в E_STRICT и PHP уведомит вас о некоторых ваших проблемах.
Будьте очень осторожны с такими инструментами очистки, особенно в PHP или Javascript. Они хорошо работают на таких языках, как Java, но любой язык, который позволяет Eval()
может запускать автоматизированный инструмент, иногда по-дьявольски умным образом, в зависимости от того, насколько разумным был оригинальный разработчик кода.
Вам необходимо включить расширение. Вы можете генерировать графы с использованием GraphViz, см. Ниже, например, код.
На PHP.net есть несколько полезных примеров: http://www.php.net/manual/en/inclued.examples-implementation.php
Возможно, вы захотите проверить покрытие кода xdebug, возможно, как auto_append. Тем не менее, он довольно ограничен, и для этого потребуется, чтобы у вас было 100% тестовых случаев (что я сомневаюсь, поскольку вы говорите, что проект беспорядок) или упорство, чтобы пройти все возможные действия на сайте, и даже тогда, вам нужно будет судить о том, можете ли вы удалить часть кода, потому что он не используется, или оставить его там, потому что определенное условие еще не было выполнено в ваших случаях. С другой стороны: переход кода через удаленный отладчик xdebug действительно помог мне в прошлом быстро получить различные механизмы и потоки в неизвестных проектах.
Я бы попытался открыть весь проект в NetBeans PHP , это отличный инструмент, который мы используем для огромных проектов. Вы можете легко видеть предупреждения и уведомления, а также легко использовать функции / классы. Попробуй! Я бы рекомендовал против автоматической очистки и подобных. Даже если код, похоже, будет работать позже, я бы не спал очень хорошо ночью …