Случается, что я закончил работу над большой PHP-программой, и мне нужна программа (или простой в установке скрипт), которая рисует график управления потоком / вызовом приложения PHP (т. Е. Должна работать над несколькими файлами PHP). Уже видели такие вещи, как Graphviz, не знаете, какой из них работает для PHP?
Какие-либо предложения?
Ура!
Я никогда не использовал инструмент, который может сделать это статически (т. Е. Из исходных файлов) , но вот способ получить callgraph при выполнении скрипта / приложения.
Во-первых, вам необходимо установить расширение Xdebug – на сервере разработки / тестирования (не устанавливайте его на производственном сервере: это довольно плохо для исполнения ^^)
Затем вы можете использовать свои функции профилирования для создания файла .cachegrindout
соответствующего выполнению загрузки страницы.
После этого вы можете загрузить этот файл .cachegrindout
с помощью KCacheGrind (On linux – я не думаю, что есть версия Windows) ; KCacheGrind может генерировать графики вызовов из файлов .cachegrindout
.
И вот пример звонка, который вы можете получить:
KCacheGrind: Callgraph экспортируется как изображение http://img.ruphp.com/function/kcachegrind-2-small.png
(Вот, он был создан из файла .cachegrindout
полученного при загрузке страницы Dotclear, программного обеспечения для ведения блогов)
Doxygen может сделать это статически. Просто doxygen -d создайте файл конфигурации, а затем отредактируйте его для создания callgraphs.