Anzeige
Smartes Cloud Hosting für anspruchsvolle Projekte.
↬ Jetzt testen
Rene Schmidt 3. März 2009

Die große PHP-IDE-Übersicht: schneller programmieren mit Integrierter Entwicklungsumgebung

Von Alexander Makarov, übersetzt von Rene Schmidt

Jeder will produktiver werden, weniger Fehler machen und guten Code schreiben. Natürlich hängt in erster Linie alles von Ihnen ab. In den meisten Fällen können Sie mit einer integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) diese Ziele leichter erreichen als ohne. Allerdings ist es nicht ganz einfach, die richtige IDE zu finden, weil es dabei viel zu beachten gibt. Und jeder Hersteller hält seine IDE für die beste.

In diesem Artikel schauen wir uns die beliebtesten PHP-IDEs näher an und vergleichen ihren Leistungsumfang. Am Ende werden wir ein Fazit ziehen und hoffentlich wissen, welche IDE Ihren Ansprüchen nahe kommt.

I am the best!

Lange Zeit habe ich nur aus Spaß in PHP programmiert. Mit Eclipse und IntelliJ IDEA habe ich Web-Anwendungen in Java entwickelt. Das sind großartige Java-IDEs. Natürlich wollte ich etwas Ähnliches für PHP haben. Die folgenden Eigenschaften halte ich für wichtig:

Eigenschaften von integrierten Entwicklungsumgebungen

1. Syntax-Hervorhebung

Gute Syntax-Hervorhebung verbessert die Lesbarkeit von Code immens. Wirklich! Schauen Sie sich das an:

Syntax-Hervorhebung

2. Code-Vervollständigung

Automatische Code-Vervollständigung soll dem Entwickler Tipparbeit abnehmen. Wenn sie auch eigene Klassen und phpDoc unterstützt, kann sie Ihnen sogar ersparen, die Projektdokumentation zu lesen.

Gute Code-Vervollständigung kann auch Tippfehler verhindern. Wenn Sie beispielsweise $cotroller-> eingeben, und es erscheinen keine Vorschläge, wird es sich wohl um einen Fehler handeln. Oh… Es das soll wohl $controller sein!

Schlechte Code-Vervollständigung kann Sie behindern, wenn zu viele Vorschläge gemacht werden oder Ihre Klassen nicht eingelesen wurden.

Code-Vervollständigung

Nett ist auch Dateinamen-Vervollständigung für HTML-Tags sowie für PHP-include() und -require()-Aufrufe.

3. Navigation

Eine der langweiligsten Aufgaben ist es, eine bestimmte Variablendeklaration oder eine Wertzuweisung zu finden. Gute IDEs können Ihnen dabei mit “Gehe zu Aktion” oder “Gehe zu Deklaration” helfen.

Eine weitere wichtige Funktion ist die Suche. Sie sollte auch bei großen Projekten schnell sein. Noch besser ist eine Suchfunktion, die wie im Firefox von Fundstelle zu Fundstelle springen kann.

Code navigation

4. Fehlermeldungen und Warnungen

Syntaxüberprüfung während der Eingabe kann verschiedene Arten von Tipp- und Programmierfehlern abfangen. Im folgenden Beispiel meldet die IDE, dass Sie einen Deklarationsoperator (=) statt eines Vergleichsoperators (==) verwendet haben:

Warning and errors

Je mehr die IDE aufspürt desto besser. Außer, die IDE macht dabei selbst Fehler.

5. Refactoring und Code-Generierung

Refactoring ist grundsätzlich das Verbessern von Code durch Umgestaltung. PHP-IDEs bieten im Vergleich zu C- oder Java-IDEs nur rudimentäre Funktionen. Aber selbst die sind schon sehr hilfreich.

Absolut grundlegende PHP-Refactoring-Funktionen:

  • “Verschieben”: Aktualisiert alle include() und require()-Aufrufe, wenn eine Datei woandershin verschoben wird.
  • “Umbenennen,”: Stellt sicher, dass ein Dateiname in allen betroffenen Dateien des Projekts geändert wird.
  • “Sicheres Löschen”: Prüft, ob eine Datei ohne Auswirkungen auf andere Projektteile gelöscht werden kann.

Refactoring

Zusätzlich zu grundlegenden Refactoring-Funktionen können manche IDEs Code für Klassenkonstruktoren, Getter-, Setter- und sogar Stub-Methoden für eine Elternklasse automatisch erzeugen.

Code generation

6. Debugging

Debugging ist nicht so entscheidend bei PHP, weil viele Entwickler sowieso einfach mit echos debuggen oder ein Tool wie FirePHP verwenden. Für komplexe Applikationen müsste man auf diese Weise aber schon viel Aufwand treiben, daher kann Debugging viele Stunden Zeit sparen.

Debugger

Wenn die IDE gut ist, stellt sie Haltepunkte für schrittweises Debuggen zur Verfügung, bei dem man sich jederzeit den Inhalt von Variablen und Eigenschaften von Objekten im Programmablauf anzeigen lassen kann.

7. Versionskontrolle

Versionskontrolle ist sowohl für einzelne Entwickler als auch für die Entwicklung in einer Gruppe sehr nützlich. Sie führt Buch darüber, wann und von wem eine Datei geändert wurde. Eine gute IDE kann die Unterschiede zwischen Revisionen visuell darstellen und erleichtert das Kopieren von Code von einer Version zur anderen, kann vorhergehende Zustände wieder herstellen und unterschiedliche Versionen einer Datei zusammenführen.

Visual diff

Eine integrierte Versionskontrolle ist bei den Alltagsaufgaben, beispielsweise Versionsvergleiche und Commits, wesentlich komfortabler als eine eigenständige Applikation.

8. Funktionen für die Client-Seite

PHP separat zu verwenden ist eher die Ausnahme. CSS und JavaScript sind eigentlich immer irgendwo in der PHP-Anwendung zu finden. Daher wäre es vorteilhaft und wünschenswert, wenn Code-Vervollständigung, Syntax-Hervorhebung und vielleicht sogar Refactoring auch für Technologien und Sprachen angewendet werden kann, die in Verbindung mit PHP genutzt werden.

HTML Code-Vervollständigung

Wie wählen Sie eine gute IDE aus?

Jede IDE bietet eine ganze Menge Funktionen. Einige sind sehr nützlich, andere nicht. Hier sind ein paar Faustregeln, eine gute IDE zu finden:

  • Probieren Sie die Kostenlosen zuerst. Vielleicht reicht deren Funktionsumfang für Sie aus.
  • Unterscheiden Sie zwischen Funktionen, die sie gerne hätten und jenen, die Sie unbedingt brauchen. Prüfen Sie dann, ob eine IDE Ihre Erwartung erfüllt.
  • Prüfen Sie, ob es Plugins gibt, welche die IDE um fehlende Funktionen ergänzen.
  • Wenn Sie eine IDE ausgewählt haben, spielen Sie erstmal eine Weile damit herum, bevor Sie ein großes Projekt damit realisieren. Vielleicht kommen Sie zu dem Schluss, dass Sie mit der IDE Ihre Gewohnheiten zu sehr umstellen müssen.

Vergleichstabelle

The great IDE filter

Zusammen mit Vladimir Statsenko, der bei der Aptana-Sektion geholfen hat, haben wir eine Vergleichsübersicht vorbereitet.

Was berücksichtigt wurde

Eclipse-basierte IDEs
PDT, Zend Studio 6, Aptana PHP und Aptana Studio Pro basieren auf Eclipse. Es gibt tausende Plugins für Eclipse, so dass Funktionen, die Eclipse nicht selbst bietet, höchstwahrscheinlich als Plugin verfügbar sind.

Eclipse-basierte PHP-IDEs waren die ersten OpenSource-IDEs mit echten IDE-Fähigkeiten, beispielsweise mächtige Code-Vervollständigung, Code-Navigation und Projekt-Unterstützung. Die meisten sind noch immer kostenlos verfügbar und sehr umfangreich.

NetBeans

NetBeans ist neu in der PHP-Szene und basiert nicht auf Eclipse. Das Programm hat einen ähnlichen Funktionsumfang wie die anderen IDEs und ist ebenfalls kostenlos. Die Entwicklung dieser IDE ist sehr offen und schnell. Das Entwickler-Blog zu verfolgen und neue Test-Versionen ist recht interessant, auch wenn es eine stabile Version 6.5 gibt.

Was nicht berücksichtigt wurde

Es gibt eine ganze Anzahl mächtiger Texteditoren wie PSPad, Notepad++, TextMate, vim und Emacs. Einige sind den IDEs recht ähnlich und können sogar besser geeignet sein, wenn einem IDEs zu überfrachtet sind und man mit den Funktionen eines Texteditors besser zurechtkommt. Es gibt zu viele gute IDEs, so dass aufgrund der Vielfalt hier nur die wichtigsten berücksichtigt werden können.

Die PHP-IDEs

Die folgenden PHP-IDEs sind in der Übersicht enthalten:

  • PDT 1
  • PDT 2.0
  • Zend Studio 6
  • NetBeans 6.5
  • NetBeans 7 (Entwicklerversion)
  • Aptana PHP
  • Aptana Studio Pro
  • Codelobster *
  • Nusphere PhpED 5.6 *

Comparison table

Die ganze Tabelle gibt es bei Google Docs (fixierte Version)

* Codelobster und Nusphere PhpED wurden nachgetragen.

Fazit

Nutzen Sie noch immer keine IDE? Sie verschwenden möglicherweise Zeit. Versuchen Sie es! Sie werden den Unterschied spüren.

Sowohl PDT-Eclipse als auch NetBeans sind gute IDEs. Wenn Sie viele Plugins benötigen, ist Eclipse die bessere Wahl. Wenn Ihnen Bearbeitungswerkzeuge und Code-Vervollständigung wichtiger sind, wählen Sie NetBeans. Die Benutzeroberfläche von NetBeans reagiert schneller als die von Eclipse.

Wenn Sie hauptsächlich HTML und CSS bearbeiten, probieren Sie Notepad++, vim, TextMate oder Emacs. Sie alle haben sehr gute HTML-Bearbeitungsfunktion und beherrschen auch einfache Code-Vervollständigung. Außerdem sind sie kleiner und schneller als ausgewachsene IDEs.

Wenn Sie viel mit Javascript machen, probieren Sie Aptana aus. Eine Alternative dazu ist das Plug-In Spket für Eclipse, welches ähnliche Funktionen anbietet. Bedenken Sie, dass IDEs nicht Ihr Denken verändern, sondern den Entwicklungsprozess beschleunigen sollen.

Kommerzielle Software vs. OpenSource

Es klingt seltsam, aber kommerzielle PHP-IDEs wie Zend Studio und Aptana Studio Pro haben keine wesentlichen Vorteile gegenüber OpenSource-IDEs wie PDT2.0 und NetBeans, die beide ebenfalls sehr gut sind. Aptana Studio Pro bietet für 99 Dollar einen guten IE-JavaScript-Debugger, SFTP, FTPS und einige andere weniger nützliche Eigenschaften.

Wie NetBeans bietet Zend Studio etwas umfangreichere Code-Vervollständigung und bessere Fehlermeldungen als PDT. Es bietet einen gut anpassbaren Code-Formatierer, Refactoring-Fähigkeiten (die NetBeans ebenfalls bietet) und Wizards für das Zend Framework. Der Preis beginnt bei 399 Dollar.

Quellen

  • PDT Project
    Offizielle Website von Eclipse PHP Development Tools (PDT).
  • Zend Studio
    Offizielle Website von Zend Studio.
  • NetBeans
    Offizielle Website von NetBeans.
  • NetBeans für PHP-Weblog
    Hier können Sie mehr über Neuerungen bevorstehender NetBeans-Versionen erfahren und über sie diskutieren.
  • Aptana
    Offizielle Website von Aptana.

Über den Autor

Alexander Makarov ist professioneller Web-Entwickler aus Russland. Er betreibt außerdem RMCreative, ein russisches Blog für Web-Entwickler, Designer und jeden, der sich für den Bau von Websites interessiert. Übersetzung von Rene Schmidt

5 Kommentare

  1. Nützlicher Artikel !

  2. Ich bevorzuge ja Zend beim PHP schreiben. Die IDE denkt am bestem mit.
    Doch eins stört mich gewaltig: Es gibt kein Drag and Drop!!! Kennt jemand eine Möglichkeit, Drag and Drop in Zend einzubauen??

    (Übrigens gibts die Seite nicht mehr: http://www.zend.com/en/products/studio/compare)

  3. @Jan Piotrowski: Es fehlt leider auch PHP-Eclipse. Das Projekt leidet ein wenig darunter, dass es PDT-Eclipse für PHP gibt, daher fällt es oft unter den Tisch. Ich denke aber schon, dass der Artikel einen guten Überblick über das Angebot liefert.

    Wie sind denn Deine Erfahrungen mit phpDesigner?

  4. Schade, phpDesigner [1] fehlt. Aber gegen die großen hat man wohl keine Chance was Aufmerksamkeit angeht :/

    [1] http://www.mpsoftware.dk/phpdesigner.php

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.