Разбор / сборщик для php - PullRequest
2 голосов
/ 16 марта 2010

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

Например, я хочу позвонить в корзину zen из скрипта на другом языке, который возвращает список категорий без какой-либо окружающей страницы.Поэтому я хочу иметь возможность отследить, что именно генерирует процесс, а затем удалить все ненужные биты, чтобы создать собственный скрипт.

Ответы [ 3 ]

1 голос
/ 26 марта 2010

То, что вы хотите, называется «обратным срезом» («весь код, который вносит вклад в определенный вычисляемый результат») в литературе по теории вычислений. Чтобы вычислить обратный срез, необходимо проанализировать язык, вычислить все влияния (управление и поток данных) на выбранную точку в программе, а затем отобразить эти точки для вас.

Для языков, таких как C., существуют инструменты для нарезки. Они могут существовать для Java (как академические версии). Я не знаю ничего, что существует для PHP.

Еще один способ обнаружить код, связанный с действием, - запустить инструмент покрытия тестов. Такой инструмент помечает весь код (во многих файлах), который выполняется для определенного действия (обычно это «модульный тест», но инструментальные средства тестирования действительно не заботятся). Затем вы просто выполняете действие, которое вас волнует, и смотрите на данные тестового покрытия. Графический дисплей позволит легко увидеть, какой код был выполнен; часть, которую вы хотите, похоронена во всем исполняемом коде. Инструмент PHP Test Coverage существует и будет обеспечивать хорошее отображение покрытого кода.

1 голос
/ 07 июля 2010

Одна вещь, которую я нашел очень полезной при взгляде на новые / сложные базы кода, - это использование IDE с каким-то интеллектом кода. Я использую php eclipse , и он позволяет переходить к определениям функций и переменных с помощью гиперссылок или всплывающих окон. Это может быть невероятно полезно для навигации по разросшимся проектам, потому что вам не нужно проходить через все трудности, чтобы искать вручную.

В вашем случае с php лучше всего найти точку входа для страницы, которая добавляется в ваш список категорий. Как только вы обнаружите это, вы можете использовать eclipse, чтобы расширить различные вызовы функций, которые он делает. Будучи новичком, очень полезно читать код таким способом, так как он предоставляет вам множество различных способов ведения дел. Дополнительным бонусом использования чего-то вроде eclipse является то, что он обеспечивает интеграцию с руководством по PHP. Поэтому в любое время, когда вы сталкиваетесь с функцией, которую вы не знаете, вы можете навести на нее курсор, посмотреть руководство, а также узнать, как оно будет использоваться в контексте.

0 голосов
/ 16 марта 2010

Если вы ищете какой-либо отладчик, взгляните на XDebug или ZendDebugger.

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