Граф потока приложения PHP (или график вызова функции) - PullRequest
9 голосов
/ 27 апреля 2010

Бывает, что я закончил работать над большой PHP-программой, и мне нужна программа (или простой в установке скрипт), которая рисует граф управления потоком / вызовов приложения PHP (т. Е. Должна работать над несколькими файлами PHP) , Уже видел такие вещи, как Graphviz, не уверен, какой из них работает для PHP?

Есть предложения?

Ура! * * 1005

Ответы [ 2 ]

9 голосов
/ 27 апреля 2010

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


Во-первых, вам нужно установить расширение Xdebug - на сервере разработки / тестирования (не устанавливайте его на производственном сервере: это очень плохо для производительности ^^ )

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


После этого вы можете загрузить этот .cachegrindout файл с помощью KCacheGrind (В Linux - я не думаю, что есть версия для Windows) ; KCacheGrind может генерировать графы вызовов из .cachegrindout файлов.

А вот пример callgraph, который вы можете получить:

KCacheGrind: Callgraph экспортирован как изображение http://extern.pascal -martin.fr / so / kcachegrind / kcachegrind-2-small.png

(Вот, это было сгенерировано из файла .cachegrindout, полученного при загрузке страницы Dotclear, программного обеспечения для ведения блогов)

2 голосов
/ 08 августа 2013

Doxygen может делать это статически. Просто doxygen -d, чтобы создать файл конфигурации, а затем отредактируйте его для создания графов вызовов.

...