vshemarov
@vshemarov

Как определить используемые методы сторонней библиотеки в приложении на PHP?

Есть большой проект на PHP, и есть сторонняя библиотека (назовем ее Package), состоящая из нескольких классов, которая используется в этом проекте. Нужно найти, какие именно методы библиотеки используются в приложении для внешних вызовов. Т.е. получить, в итоге список, типа:
\Package\ClassA->methodA1()
\Package\ClassA->methodA2()
\Package\ClassB->methodB1()

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

В общем, фактически, нужно получить описание интерфейса взаимодействия приложения с библиотекой.

Можно, конечно, в PHPStorm руками пройтись по всем публичным методам всех классов библиотеки, вызывая "Find Usages", но это довольно муторно. Может, есть какой-то инструмент, который поможет эту задачу решить?
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@rPman
Можно попытаться использовать статические анализаторы кода, а можно подключить библиотеку и проанализировать классы и методы в режиме выполнения.
Смотреть тут, т.е. получаешь список зарегистрированных классов get_declared_classes и для каждого по имени запрашиваешь список методов get_class_methods, в догонку то же самое можно сделать с функциями get_defined_functions

И помним, что очень часто разработчики библиотек почему используют динамические имена переменных и методов класса, настроив колбек на undefined method, в этом случае список таких методов узнать автоматически невозможно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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