| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Создание списка extensions используемых в проекте |
| Автор: Pokoinik 8.5.2012, 17:34 |
| Появилась необходимость сделать список php PECL расширений, которые реально используются в проекте. Вручную отсматривать 75M php кода, как-то не очень хочется. Может кто сталкивался с тулзой, способной помочь? |
| Автор: ksnk 8.5.2012, 17:54 |
Профайлер. Он генерит список файлов, которые так или иначе вызываются. Одна проблема - профайлер довольно серьезно грузит проект, так что надолго его ставить нет смысла. Тем самым есть вероятность не "зацепить" редко исполняющиеся ветки приложения. |
| Автор: 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 На JAVA это можно сделать хммм ....можно подумать. |
| Автор: ksnk 9.5.2012, 00:11 |
imho, UML плагин для этого уже написан. Я, правда его не увидел в списке своих плагинов, как то не пригодился? так что гарантировать не могу... Может кто использует? |
| Автор: Sentox 9.5.2012, 00:18 |
| UML это понятно, но сама идея вывода информации требуемых для проекта расширений,так сказать определение части системных требований по используемым в проекте функциям. UML вроде уже не плагином, использовал но он только для информации,вообщем довольно сырая фича. Да и есть фундамент развития плагина для других функциональностей, того же профайлера (если конечно его ещё нет). |