2011-01-06 16 views
1

Ich versuche, eine OOP-Klasse zu analysieren. Zum Beispiel hat die Klasse einen Konstruktor, der andere Methoden und Eigenschaften aufruft. Jede Methode ruft andere Methoden oder Eigenschaften usw. auf. Ich versuche zu untersuchen, wie sich alle Methoden und Eigenschaften aufeinander beziehen. Ich mache es jetzt von Hand. Gibt es ein Werkzeug, das einen Teil davon automatisieren könnte? etwas, das automatisch analysiert, wie sich die Funktionen ineinander und in die Eigenschaften einfügen.Analyse aller Verbindungen zwischen Funktionen

Antwort

2

Sie können eine "Trace" - d. H. Baum aller Aufrufe generieren, die bestimmter Durchlauf Code produziert. Es gibt xhprof, xdebug (kostenlos) oder Zend Code Tracing ($$), die es tun können. Statisch ist es aufgrund der dynamischen Natur von PHP ziemlich schwierig, dies zu tun, obwohl es phpCallGraph gibt, das hilfreich sein könnte.

2

Worüber Sie sprechen (als Ausgabe) ist ein Sequenzdiagramm.

Sie können möglicherweise Tools finden, die helfen, wenn Sie danach suchen - Apps können dynamisch profiliert werden. Ich habe es mit Java gemacht, die Sequenzdiagramme, die generiert werden, sind groß, aber brauchbar.

2

aptana studio version 3 beta (kostenlos), eclipse helios für php (kostenlos) und zend studio (kostenlose testversion) hat einige funktionen. Klicken Sie mit der rechten Maustaste auf einen Methodenaufruf und klicken Sie auf "Gehe zur Definition" oder Ähnliches. Leider verlieren sie alle Objekte sehr schnell und können nicht verstehen, in welcher Klasse sich die Methode befindet, zum Beispiel wenn das Objekt aus einem Array geholt wird. aber es ist immer noch viel besser als die meisten anderen Editor-Optionen!

Verwandte Themen