2010-04-27 16 views
9

Zdarza się, że skończyłem pracę nad dużym programem PHP i potrzebuję programu (lub łatwego w instalacji skryptu), który rysuje wykres kontroli przepływu/wywołania aplikacji PHP (tzn. musi działać na wielu plikach PHP). Widziałeś już rzeczy takie jak Graphviz, nie wiesz, który działa dla PHP?Wykres przepływu aplikacji PHP (lub wykres wywołania funkcji)

Wszelkie sugestie?

Pozdrawiam!

Odpowiedz

9

Nigdy nie użyłem żadnego narzędzia, które mogłoby statycznie to zrobić (tj. Z plików źródłowych), ale tutaj jest sposób na wywołanie skryptu wywołania podczas wykonywania skryptu/aplikacji.


Najpierw trzeba zainstalować Xdebug extension - na serwerze rozwoju/testowania (nie zainstalować go na serwerze produkcyjnym: to jest bardzo złe dla występów ^^)

Następnie należy może użyć swojego profiling features do wygenerowania pliku .cachegrindout odpowiadającego wykonaniu ładowania strony.


Po tym, można załadować ten plik .cachegrindout z KCacheGrind(w systemie Linux - Nie sądzę, że jest to wersja Windows); KCacheGrind może generować wywołania graficzne z plików .cachegrindout.

A oto przykład callgraph można uzyskać:

KCacheGrind : Callgraph exported as an image http://extern.pascal-martin.fr/so/kcachegrind/kcachegrind-2-small.png

(oto, że został wygenerowany z pliku .cachegrindout uzyskanych podczas wczytywania strony DotClear blogowanie oprogramowania)

+0

Schludny !! Mogę to wypróbować w domu na mojej maszynie wirtualnej VM z serwerem testowym PHP. Wielkie dzięki! – Christian

+0

Nie ma za co :-) Baw się dobrze! –

2

Doxygen może to zrobić statycznie. Wystarczy doxygen -d, aby utworzyć plik konfiguracyjny, a następnie zmodyfikuj go, aby utworzyć graficzne wywołania.