Facebook
Twitter
Google+
Kommentare
9
Willkommen bei "the web hates me". Mittlerweile hat unser Team ein tolles neues Monitoringtool für Agenturen gelauncht. Unter dem Namen koality.io haben wir einen Service geschaffen, der er Agenturen ermöglicht mit sehr geringen Kosten alle Ihre Webseiten zu überwachen.

PHP mit nWire entwirren

Wo ist bloß diese Funktion definiert? Und wo wird die Funktion überall aufgerufen? Warum kommt ständig ein „cannot redeclare“-Fehler? Brauche ich diese Variable überhaupt? Wenn ja, wofür?

Wer sich schon einmal mindestens eine dieser Fragen bei PHP-Quellcode gestellt hat, sollte unbedingt mal einen Blick auf nWire for PHP werfen.

Ich habe bei mir in der Firma häufig mit fremdem Quellcode zu tun. Teilweise auch mit echtem „Quälcode“. Um sich dort drin zurecht zu finden, bedarf es einiges an Aufwand. Ich habe vor einiger Zeit nWire für diesen Zweck für mich entdeckt. nWire ist ein Eclipse-Plugin, welches offene PHP-Projekte im Hintergrund analysiert und zahlreiche sinnvolle Verknüpfungen zwischen den Informationen bereit stellt.

Um die eingangs erwähnten Fragen zu beantworten, hilft der nWire Navigator. Dieser zeigt detailliert die gesammelten Informationen zur aktuellen Datei oder speziell einer Klasse, Funktion oder Variablen an. Über den Navigator kann man dann wie beim MacOS Finder durch die Struktur von links nach rechts navigieren. Ein Klick auf eine Information springt entweder in der entsprechenden Datei direkt in die betroffene Zeile oder öffnet eine Liste mit detaillierteren Informationen.

nWire im Einsatz

nWire Navigator im Einsatz

Wenn der Navigator einmal geöffnet ist (Strg+5), aktualisiert er sich automatisch mit den Inhalten des markierten Elementes im Editorfenster. Unter anderem findet man Informationen darüber wo die Funktion deklariert wird, zu welcher Klasse sie gehört. Wo die Methode/Variable überall im Projekt Verwendung findet wird ebenso dargestellt, wie von dieser Methode aufgerufene weitere Funktionen.

Für einen einfachen Strukturplan der gleichen Informationen gibt es den nWire Visualizer.

nwire-visualizer

Der nWire Visualizer zeigt die Struktur an

In dem Diagramm kann man auf einen Blick erkennen, dass die Funktion in einer anderen Funktion genutzt wird und selbst einige PHP-Basis-Methoden verwendet. Außerdem sticht einem sofort gelb hervorgehoben ins Auge, dass insgesamt 15 Deklarationen dieser Methode im gesamten Projekt existieren. Ein guter Ansatz um da ein bisschen Aufräumarbeit zu betreiben.

Der nWire Analyzer, der eigentlich immer beim Öffnen, Speichern und Schließen eines Projektes aktiviert wird lässt sich gezielt für alle oder einzelne Projekte aktivieren. Da er das Öffnen des Projektes merklich verzögert, sollte man nicht blind alle Projekte aktivieren sondern primär die in denen nWire auch genutzt wird.

Wer jetzt ein bisschen Lust bekommen hat, nWire auch für eigene Projekte einzusetzen, kann das Eclipse-Plugin erstmal 30 Tage testen. Danach kostet es 59 $ oder man schreibt einen Blog-Artikel mit mindestens 300 Wörtern und bekommt kostenlos eine nWire-Lizenz.

nWire gibt es auch in einer Version mit ähnlichen Funktionen für Java und in einer kombinierten Installation (was sich in reduzierten Lizenzkosten äußert). Für die Installation der PHP-Version wird Eclipse mit PDT 2.1 oder Zend Studio 7 benötigt.

Weitere Informationen zu nWire gibt es hier: www.nwiresoftware.com

Über den Autor

Bastian Gorke

Diplom Wirtschaftsinformatiker, Buch-Autor: "XML-Datenbanken in der Praxis", Projektmanager, Gründer (Demobereich)
Kommentare

9 Comments

  1. Moin Bastian, erstmal danke für den Beitrag. Ich hatte nWire selbst mal kurz installiert, um ein wenig rein zu schnuppern. Irgendwie habe ich aber schnell den Spaß daran verloren. Wie sieht es bei dir aus? Verwendest du es noch fleißig?

    Reply
  2. Hallo,

    gibt es denn Alternativen zu nWire die so oder so ähnlich funktionieren? Vlt sogar auch für Netbeans?

    Gruß
    Chris

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen