Artikel

  • on 29.06.2010
  • at 12:33 AM
  • by Dirk

Eine IDE für PHP (3) 4

Jun29

Wie bereits angekündigt ist für mich wieder einmal die Zeit der Suche angebrochen. Die Suche nach einer geeigneten IDE ist nie einfach. Eine IDE ist weniger abhängig von ihrem Funktionsumfang, als vielmehr von dem Gefühl des Programmierers. Insbesondere für PHP bin ich seit rund 5 Jahren auf der Suche nach einer IDE, die mich wirklich rundum zufrieden stellt. Oder mir zumindest nicht in regelmäßigen Abständen auf die Nerven geht.

Es gibt durchaus einige IDEs für PHP. Jedoch gibt es kaum aktuelle Tests und Vergleiche dieser IDEs von Leuten, die Ihre IDE als No-Nonsense Arbeitstier sehen und nicht als hübsches Gadget. Der letzte große Test von Smashing Magazine ist inzwischen auch über ein Jahr alt. Also machte ich mich wieder auf die Suche. Dieser Post stellt meine persönlichen Erfahrungen mit den aufgelisteten IDEs dar.

Dies ist nicht meine erste Suche. Hier sind Links zu Teil 1 und Teil 2 (beide von 2008) zu finden. Insgesamt ist mir aufgefallen, dass die Qualität der IDEs seitdem stark zugenommen hat, insbesondere im Bereich OOP. Inzwischen haben die meisten IDEs zum Beispiel keine Probleme mehr mit Singletons, abstrakten Klassen oder Interfaces.

Der Test der IDEs entstand über einen längeren Zeitraum: jede IDE wurde mindestens zwei Wochen produktiv auf Live-Projekten getestet. Von kommerziellen IDEs wurde jeweils die Trial-Version getestet. Die Wahl einer IDE ist natürlich sehr subjektiv und eine Frage des persönlichen Stils. Folglich sind die Vorstellungen und gezogenen Schlüsse ebenfalls subjektiv und mit Vorsicht zu genießen.

Zend Studio (2.7, 399€, Eclipse-basiert)

Nachdem Zend Studio in Teil eins nicht besonders gut wegkam, war ich von der neuen Version angenehm überrascht. Im Gegensatz zu früher lief es stabil und kam (nach einigen Code-Anpassungen) auch mit Singletons klar. Die Code-Features wie Refactoring, Debugging und so weiter funktionierten anstandslos und direkt “out of the box”. Besonders das Code Formatting hat es mir angetan und ist gegenüber dem alten Aptana Studio und dem aktuellen PDT vorbildlich umfangreich.

Im Zusammenspiel mit dem hauseigenen Zend Server dreht Zend Studio richtig auf. Die bereits guten Debugging-Möglichkeiten werden nochmals erweitert und man vergisst fast, dass man es mit PHP zu tun hat.

Wenn der Text-Zeitraum abgelaufen ist, bleibt eine IDE auf dem Niveau von PDT zurück. Essentielle Funktionen und Tools sind noch aktiv, aber andere (wie zum Beispiel das Code Formatting oder Debugging) werden deaktiviert.

Fazit: Zend Studio hat seit seinem Erscheinen als Eclipse-Erweiterung große Fortschritte gemacht. Die Integration von Tools und Features ist logisch und stabil, die Features funktionieren ohne weiteren Aufwand. Seine Stärken spielt Zend Studio erst aus, wenn man es gemeinsam mit dem Zend Server nutzt. Nutzt man diesen nicht, lassen sich die meisten Funktionalitäten (wie z.B. Debugging, SVN, etc.) auch mit freien Eclipse-Plugins nachrüsten. Allerdings muss man dann selbst fummeln und jeder muss für sich entscheiden, ob ihm die Zeitersparnis dann 399€ wert ist. Kurz: mit Zend Server: hui! Ohne Zend Server: meh.

Plus

  • Integration von Code Quality Tools (Unit Testing, Refactoring und Code Formatting) vorbildlich
  • Sehr stabil, robuste Features
  • Großartiges Zusammenspiel mit dem Zend Server

Minus

  • 399€

JetBrains PhpStorm (1.0, 47€ – 191€, Java-basiert)

PhpStorm ist eine neue IDE, auf die mich DFox aufmerksam gemacht hat. Der schnelle Überblick über die Features sah gut aus, die Community ist recht aktiv, also warf ich gerne einen Blick darauf. Was ich sah gefiel mir auf den ersten Blick. Zudem ist es mal wieder schön mit einem ganz anderen Look & Feel zu arbeiten.

PhpStorm bringt alle Features mit, die man inzwischen von einer PHP-IDE erwarten darf: Debugging, Refactoring, Unit Tests und Code Inspection. Die Features sind allerdings abhängig vom Projekt-Typ: Eigene Klassen werden erst erkannt, wenn man das Projekt als “Neues Projekt auf lokalem Server” definiert, nicht aber, wenn man es als “Neues Projekt, lokal, ohne Server” anlegt. Nachdem man aber durch die verschiedenen Arten von Projekten durchgestiegen ist, funktioniert alles ganz gut.

Wenn man will kann man sich in stundenlangen Konfigurationsorgien austoben. So ziemlich jedes Feature kann in Tiefe und Breite angepasst werden. Besonders positiv fand ich die Möglichkeit Keymaps zu konfigurieren und so Tastaturlayouts verschiedener bekannter IDEs zu nutzen. Das machte für mich den Umstieg von Eclipse wesentlich leichter.

Etwas verwunderlich mutet hingegen die Projektverwaltung an. PhpStorm kann jeweils nur ein geöffnetes Projekt bearbeiten. Das wirkt 2010 einfach komisch. Natürlich lassen sich übergeordnete Verzeichnisse einhängen, aber Abhängigkeiten etc. sind damit nicht abbildbar. Will man gleichzeitig Framework und Anwendung bearbeiten müssen zwei Fenster genutzt werden.

Ebenso bedauerlich: die phpDoc-Beschreibung zu einer Methode ist in der Code Completion nicht zu sehen. Variablenbeschreibungen funktionieren jedoch einwandfrei.

Ein charmantes Feature fand ich die Navigation Bar, die eine Art Breadcrumb-Funktionalität darstellt. Sie zeigt immer den jeweiligen Aufenthaltsort der ausgewählte Datei an. Per Klick auf die Verzeichnisse sieht man direkt deren Inhalt und kann schnell zu benachbarten Dateien springen.

Woran ich mich immer noch nicht ganz gewöhnt habe ist der lokale Cache für Dateien. Im Grunde arbeitet PhpStorm nicht auf den “echten” Dateien des Dateisystems, sondern legt einen eigenen Cache darüber. Jede Änderung wird sofort in diesen Cache übernommen. Diese lokalen Änderungen existieren ab da als Änderungen zu den Originaldateien. Entsprechend warnt PhpStorm auch nicht, wenn man Dateien einfach schließt – beim nächsten Öffnen bedient er sich aus dem eigenen Cache und eventuell noch nicht gespeicherte Änderungen sind nach wie vor vorhanden. Das klingt charmant (und ist es auch), nur sollte man sich tunlichst abgewöhnen manuelle Updates aus dem SVN zu machen, da sonst das Dateisystem und der lokale Cache auseinander laufen. Lösung: SVN über PhpStorm verwalten klappt ganz wunderbar.

Geradezu unglaubwürdig schnell ist die projektweite Suchfunktion. Nachdem Eclipse mal gerne für eine Kaffeepause gut ist, wenn man größere Projekte durchsucht, hat man bei PhpStorm kaum Zeit die Hand nach einer Tasse auszustrecken. Schade, dass bei der Suchausgabe nur Verzeichnisse und Treffer angezeigt werden, aber nicht die dazugehörige Datei.

Ebenfalls positiv ist die gute Unterstützung für weitere Webtechnologien wie HTML, CSS, XML, JavaScript und so weiter. Wenig verwunderlich, da PhpStorm auf der WebIDE WebStorm basiert.

Obwohl die IDE erst wenige Wochen aus der Beta entwachsen ist, läuft sie stabil. Gelegentlich traten im Hintergrund Fehler auf (erkennbar durch das rote Ausrufezeichen in der unteren Bildschirmleiste), jedoch stürzte das Programm nie ab, verlor keine Daten und verhielt sich immer vorhersehbar.

Fazit: Absolut beeindruckend. Für einen Newcomer ist PhpStorm ein ganz großer Wurf. Innerhalb kurzer Zeit ist es meine Standard-IDE für Webentwicklung geworden: solide implementierte Standard-Features, ein Set von schönen Neuerungen und eine brachial schnelle Suchfunktion sorgen für bequemes entwickeln. That’s it, meine Suche ist erst einmal gelaufen. Ich kann aber verstehen, wenn sich nicht jeder auf eine völlig neue IDE einlassen will.

Plus

  • Breadcrumb-Funktion für Verzeichnisse
  • Konfigurierbarkeit Deluxe
  • Brachial schnelle Suche
  • Solide Standard-Features

Minus

  • Nur ein Projekt gleichzeitig geöffnet
  • Keine PHPDoc-Beschreibungen in der Code Completion (Siehe Kommentare)

subscribe to comments RSS

Es gibt 4 Kommentare für diesen Artikel

  1. Dennis sagt:

    Hey Dirk,
    IDEs suchte ich auch immer mal wieder. Da ich bis letztes Jahr von Visual Studio (primär C#) verwöhnt wurde, ist es jetzt noch schwerer was passendes zu finden. VS erlaubt eine gigantische Produktivität.

    JetBrains macht tolle Sachen. Mit dotTrace habe ich mehr Performance-Krücken gefunden als mit jeder anderen Software. Den ReSharper hatte ich ebenfalls im Einsatz. Tolle Extension. Dass es von denen auch eine PHP IDE gibt, wußte ich nicht. Aber Download läuft. Danke für den Tipp!

    Gruß
    Dennis

  2. nicity sagt:

    Für PhpStorm drücken Sie Strg + Q, um zu zeigen PHPDoc Dokumentation oder die Option zur Dokumentation nach Abschluss popup (Einstellungen | Editor | Code Completion)

  3. Dirk sagt:

    @nicity: it worked, thank you very much for the hint!

  4. [...] 1: Jetbrains hat gestern Version 2 von PhpStorm veröffentlicht. Wie ihr vielleicht wisst verwende ich PhpStorm seit einiger Zeit beruflich und privat und bin ziemlich happy. In so fern [...]

Kommentiere diesen Artikel

* Pflichtfelder

Zeitalter3 – Browsergames Entwicklerblog is powered by WordPress
Theme based on FREEmium Theme, developed by Dariusz Siedlecki by FreebiesDock.com