Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Создание списка extensions используемых в проекте


Автор: Pokoinik 8.5.2012, 17:34
Появилась необходимость сделать список php PECL расширений, которые реально используются в проекте.
Вручную отсматривать 75M php кода, как-то не очень хочется.
Может кто сталкивался с тулзой, способной помочь?

Автор: ksnk 8.5.2012, 17:54
Цитата(Pokoinik @  8.5.2012,  17:34 Найти цитируемый пост)
Может кто сталкивался с тулзой, способной помочь? 

Профайлер.
Он генерит список файлов, которые так или иначе вызываются.

Одна проблема - профайлер довольно серьезно грузит проект, так что надолго его ставить нет смысла. Тем самым есть вероятность не "зацепить" редко исполняющиеся ветки приложения.

Автор: Pokoinik 8.5.2012, 18:01
Возможно, не совсем правильно выразился.
Мне нужен список PECL экстов, функции которых явно юзает проект. 
Например, если где-то глубоко-глубоко есть вызов функции json_encode - мне нужно добавить json в System Requirments и собирать php с его поддержкой. И так по всем более менее популярным экстам.

Автор: Sentox 8.5.2012, 21:38
Если я понял, так?
http://interestabout.blogspot.com/2011/04/php-extensions.html

Гммм ... поспешил, всмысле нужен парсер всего проекта по стандартным функциям.

Да, скорее всего можно сделать свой парсер сигнатур в файлах, а затем дальнейшую логику определять из списка загруженных библиотек на предмет существования.
А вот инструментов автоматизации не находил. Возможно Ant, Maven или Phing в этом поспособствуют.

Автор: ksnk 8.5.2012, 22:26
Pokoinik, Чем не подходит профайлер?

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

Насчет анализа файлов - хотел бы я посмотреть на анализатор, который умеет работать с autoload-подгрузкой... Хотя статические анализаторы входят в состав многих IDE, рисуют красивенькие диаграммки, вот только названий не помню 


Автор: Sentox 8.5.2012, 22:48
Кстати интересная идея для фичи в phpStorm smile, да же как плагина.
На JAVA это можно сделать хммм ....можно подумать.

Автор: ksnk 9.5.2012, 00:11
Цитата(Sentox @  8.5.2012,  22:48 Найти цитируемый пост)
Кстати интересная идея для фичи в phpStorm 

imho, UML плагин для этого уже написан. Я, правда его не увидел в списке своих плагинов, как то не пригодился? так что гарантировать не могу... Может кто использует?

Автор: Sentox 9.5.2012, 00:18
UML это понятно, но сама идея вывода информации требуемых для проекта расширений,так сказать определение части системных требований по используемым в проекте функциям. UML вроде уже не плагином, использовал но он только для информации,вообщем довольно сырая фича. Да и есть фундамент развития плагина для других функциональностей, того же профайлера (если конечно его ещё нет).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)