Eindrücke der aktuellen PhpStorm IDE Vorschau
Aktuell steige ich auf eine neue IDE um, und ich möchte euch ein paar Einblicke der Vorzüge und Features geben, die ich an Eclipse PDT vermisst habe und nun gefunden habe.
Ich benutze seit einigen Wochen PhpStorm von JetBrains und muss sagen dass es mir deutlich besser gefällt als PDT. PDT habe ich nun 3 oder 4 Jahre genutzt, und es hat mir gute Dienste geleistet, aber PhpStorm kann einiges mehr. Nur um schon mal ein paar zu nennen, weitere zeige ich unten: sehr guter git Support, ein wirklich cooler Code Inspector (vergleichbar mit dem Zend Studio Inspector), „richtiges“ Refactoring (auch Code Kommentare werden angepasst), ordentlicher FTP/SFTP Support und Synchronisation, mit „Find Usages“ alle Stellen suchen die eine bestimmte Funktion aufrufen und einiges mehr.
Erleuchtend ist auch die Feature-Liste der Version 1: http://www.jetbrains.com/phpstorm/features/index.html und die Roadmap für 2.0. Durchlesen und Bilder angucken, unglaublich wie viele kleine aber sehr hilfreiche Funktionen da drinstecken. Und in Version 2.0 werden noch viele Sachen dazukommen.
Neben Git werden auch Mercurial, SVN und CVS nativ unterstützt. Man kann die History anschauen, committen, pushen, deployen, cherry-picken, mit einer Changelist arbeiten.
Am meisten beeindruckt mich aktuell der Code Inspector. Er findet wirklich viele Dinge, die verbesserungswürdig sind, hier ein Überblick:
Alle Inspections lassen sich natürlich separat aktivieren und deaktivieren. Sinnvolle neue Inspections werden auch gern hinzugefügt, ich habe beispielsweise im Bugtracker von JetBrains einen Test für „if ($r = true)“ vorgeschlagen, sprich Zuweisungen innerhalb von if-Abfragen. Nach nicht einmal 2 Wochen war dieser Test in der neuen Beta-Version enthalten.
Auch der Code Formatter ist dem Formatter von Eclipse meilenweit voraus. Wenn man sich die Einstellungsmöglichkeiten anschaut ist das sehr beeindruckend, man kann es so einrichten wie es der CodeStyle vorschreibt: geschweifte Klammern bei Klassen in der nächsten Zeile, bei Funktionen am Ende der Zeile. Zwischen if und runder Klammer muss ein Leerzeichen. Schließende Klammern bei mehrzeiligen Arrays gehören richtig eingerückt. Hier auf dem Screenshot nur ein kleiner Teil der möglichen Einstellungen:
Basisfunktionen wie Scripte ausführen bzw. (remote) debuggen sind natürlich enthalten, außerdem kann man Getter und Setter generieren lassen, Macros aufzeichen und abspielen. Viele kleine Dinge findet man erst mit der Zeit heraus, beispielsweise auf der Suche nach einer Klasse kann man „camel word prefixes“ nutzen. Hier ein Beispiel: Anstatt den ganzen Klassennamen „Zend_Controller_A“ auszuschreiben reicht auch ein „ZContA“ um die gesuchten Klassen zu finden.
Oder Array Vervollständigung, wenn sie gut funktioniert wird das ein spitzen Feature auf das ich schon lang warte (wird in der nächsten Version verfügbar sein):
PHP 5.3 Funktionalitäten wie Namespaces, Closures etc. werden unterstützt, am Zend Framework-Support und Zend-Debugger wird gerade noch gearbeitet (aktuell wird XDebug genutzt).
Ich empfehle jedem, sich die IDE anzuschauen und ein paar Tage damit zu programmieren (kostet ja nichts), es sind jede Menge toller Features enthalten die man hier nicht vollständig auflisten kann, und die man erst bei der täglichen Arbeit entdecken wird.
Die 2.0 EAP Version ist sowas wie eine Alpha an der noch viel gearbeitet wird, aber schon sehr stabil ist. Sie kann von der Early Access Program Seite heruntergeladen werden und ist 45 Tage kostenfrei nutzbar. Im Blog von JetBrains finden sich auch hilfreiche Informationen zum Status der Entwicklung.
Ja, PhpStorm kostet Geld, das ist ein Unterschied zu PDT/Netbeans, aber ich war nach einigen Wochen Nutzung bereit, den Preis zu zahlen und meine Produktivität und die Codequalität zu steigern, denn das ist mit den IDE-Features ohne Zweifel möglich. Vielleicht gibt es auch bald wieder eine Aktion wo es die Lizenz zum halben Preis gibt. Oder man ist in der glücklichen Lage und kann die Open-Source-Lizenz in Anspruch nehmen, oder erklärt dem Chef dass das Geld für gutes Werkzeug immer sinnvoll angelegt ist.
Auf jeden Fall einen Blick wert.
Ich möchte PHP-Storm lieben, aber ich kann es nicht, weil es bei meinem Lieblingsframework CakePHP die Füße streckt, da es nicht herausfinden kann welches File bei mehreren gleichnamigen Klassen das richtige ist. Und leider kann man es auch nicht mit PHPDoc dazu anleiten, im Gegensatz zu magischen Methoden etc.
Ich hoffe, dass sie da noch was machen, dann würde ich sofort umsteigen, aber scheinbar hat das keine hohe Priorität bei ihnen.
m.a.
1 Okt 10 at 20:06
Also wenn ich das richtig sehe, dann gibt es gegenüber Netbeans nur den Vorteil der Array Unterstützung (der ja aber noch nicht ganz da ist) und die git Unterstützung (Die in Netbeans mit der nächsten Version kommen soll).
Bei kostenlos lohnt sich vll. der Umstieg, aber für „das bisschen mehr“ glaube ich nicht dass es sich richtig lohnt.
IchBinIch
1 Okt 10 at 20:19
Das was ich zur Code Einrückung gelesen habe gilt auch für das klassiche Eclipse mit Java, schon mal geprüft ob es diese Features nicht doch für PHP gibt.
Weiterhin denke ich das die Array vervollständigung eine nette Spielerei ist, aber ich denke das es nicht möglich sein wird dynamische Arrays zu erfassen (bei SQL anfragen zum Beispiel) und das sind meisten die komplizieren, die anderen lassen sich eh einfach per Str+C aufrufen. Bisher beschreibst du nur ein paar nette Features, die nichts im vergleich zu den weiteren Erweiterung in Ecplipse mit PDT sind und den Preis für Storm rechtfertigen würden.
Apo
1 Okt 10 at 20:29
Kann den Artikel nur bestaetigen – Netbeans/PDT stecken bei Git wirklich noch in den Kinderschuhen, was die Integration angeht. Alle anderen „Features“ sind nur Kleinigkeiten, ja – aber die Summe machts einfach (fuer mich jedenfalls, nutze PhpStorm jetzt seit gut zwei Monaten). Habe noch eine Lizenz zum halben Preis bekommen; gut investiertes Geld fuer mich.
Christoph Luehr
1 Okt 10 at 22:49
Nutze phpStorm auch seit rund 2-3 Monaten. Zuerst die Testphase, dann hat die Firma spendiert. Davor arbeitete ich mit Eclipse PDT und NetBeans konnte mich komischerweise nie überzeugen. Grade das ordentliche Refactoring und der Versionskontrollsupport sind top. Ich vermisse noch so etwas, wie die PHP_CodeSniffer-Integration, wie sie in Eclipse möglich war, habe ich aber bereits Angefordert bei JetBrains
Michael
1 Okt 10 at 23:18
Ich kann „IchBinIch“ eigentlich nur zustimmen. So richtig viele Neuerungen im Vergleich zu Netbeans habe ich nicht gelesen. Selbst das mit dem Array ist in sofern bereits integriert, dass er beim Return direkt zur Stelle springt bei der in der vorherigen Zeile der erste Buchstabe ist. Ist nur dann nervig wenn man unterschiedlich lange Namen für die Schlüssel hat. Aber stimmt schon, dass Netbeans in bezug auf GIT derzeit noch in den Kinderschuhen steckt. Wobei ich mir gerade nicht ganz sicher bin ob es da nicht schon einige PlugIns gibt. Alles in allem kann ich dem Autor nur zustimmen. PDT leistet lange nicht das was andere bereits leiten können.
José Stiller
2 Okt 10 at 01:57
Schaut euch doch mal Komodo IDE an, die ist auch ganz nett.
Dan
2 Okt 10 at 10:55
Nutze nun schon seit Jahren Netbeans als PHP IDE und bin voll zufrieden damit.
Werde mir phpStorm mal ansehen. Aber wenn man seit Jahren an eine IDE gewöhnt ist, ist es immer schwer eine andere „besser“ zu finden ;).
Jimm
2 Okt 10 at 12:30
@Michael,
„ordentliches Refactoring“ – zu mindestens was das verändern der PHPDocs an geht – kann Netbeans auch, und das refactoring von mehreren Dateien kommt auch bald.
CodeSniffer-Integration, gibt es auch (per Plugin).
@José Stiller, Ja, es gibt es GIT-Plugin, habe ich aber kaum genutz …
Zur Array Vervollständigung, was so Arrays wie $_SERVER an geht kann Netbeans das vervollständigen auch. Und bei den ganzen dynamischen Arrays glaube ich kaum, dass man das richtig erkennen kann (mysql arrays, $_GET, $_POST) – wie sollte das gehen?
IchBinIch
2 Okt 10 at 13:00
Für Eclipse gibt es mit EGit (http://www.eclipse.org/egit/) seit einiger Zeit ein gutes Plugin für die Git-Integration. Sicherlich nicht perfekt, hat sich für mich im Alltag aber bereits bewährt.
Gruß,
Michael
Michael
3 Okt 10 at 19:44
Mal von ner anderen Seite: Die Lizenz-Struktur ist auch schon irgendwie eigenwillig. PDT hat wenigstens den Vorteil komplett kostenlos und dabei anonym zu sein, während man sich bei PhpStorm schon fast nackt ausziehen muss, wenn man „OSS“ als Version auswählt. Das ist nicht unbedingt die feine englische Art 😉 Für eine IDE ist es dann noch etwas paradox, wenn man „Release Date“ und „VCS Page“ zu Pflichtfeldern macht, wenn man bedenkt, dass man eigentlich mit der IDE die Software erst entwickeln will 😀 Und man wird wohl kaum für verschiedene OSS-Projekte jedes mal das Formular neu ausfüllen.
Alles in Allem hat mich das 2-Seiten-Formular soweit abgeschreckt, dass ich es wohl nicht weiter verfolgen werde. Da ist mir das vielleicht nicht ganz 100%ige, aber dafür auch nicht ganz so neugierige PDT lieber
KingCrunch
4 Okt 10 at 11:00
@Netbeans User
Wenn man mal die einzelnen Features außer Acht lässt, fällt mir im Unterschied zu Netbeans bei PHPStorm auf, dass es (aus meiner Sicht) performancetechnisch besser ist als Netbeans.
Über die einzelnen Features kann man streiten. Manche Dinge gefallen mir bei Netbeans besser (Mehrere Projekte gleichzeitig), andere wiederum bei PhpStorm (SVN Repo. Ansicht und Handling).
Kurzum – welche die bessere IDE ist, muss jeder für sich selbst entscheiden 😉
ezod
7 Okt 10 at 09:03
Ich habe den größten Teil der freien und kommerziellen IDEs ausprobiert. Bisher bin ich mit Nusphere phpEd sehr zufrieden gewesen. Aber phpStorm 2 / EAP ist schon in der Beta ein Grund für mich zum Wechseln. Es sind so viele Kleinigkeiten besser gelöst, als in anderen IDEs (sofern dort überhaupt vorhanden). Eine der besten Funktionen ist der eingebaute Versionsvergleich – quasi ein lokales SVN. Aber auch mal auf die Schnelle die lokale Version mit der Online-Version vergleichen… usw. Die Kosten bewegen sich im Rahmen von 2 – 4 üblichen Programmiererstundensätzen. Diese holt man allein durch die o.g. Funktionen schnell wieder rein. BTW: die Lizenzen sind Personengebunden – d.h. Mac / Linux / Win und mehrere Rechner sind OK, solange nur mit einer Version zur Zeit von einer Person gearbeitet wird.
Thomas Kahl
11 Okt 10 at 10:40
Vielen Dank für den Tipp. Probiere PhpStorm gerade aus. Es ist schon mal viel angenehmer von der Bedienung und Performance als NetBeans.
Die VCS Integration ist wirklich gut gemacht.
Es gibt auch Zen Coding für PhpStorm: http://blogs.jetbrains.com/webide/2010/03/zen-coding-support-in-webstormphpstorm/
Halil Köklü
11 Okt 10 at 16:35
@Thomas Kahl:
Integrierte History kennt Eclipse von Haus aus. „Lokales SVN“ entspräche so ziemlich genau git 😉
KingCrunch
12 Okt 10 at 15:37
An sich ganz nett, aber bei Bezahl-IDEs bleib ich dann doch lieber beim Zend Studio, das ist in meinen Augen in Kombination mit dem Zend Server bisweilen ungeschlagen, selbst wenn es nur die CE vom Server ist.
Das git nicht schlecht integriert ist wäre für mich eh nicht relevant – genauso wie bei svn benutz ich dafür eh lieber die commandline weils für mich einfach schneller geht( zumindest unter Linux, aber kann mich auch nicht erinnern wann ich das letzte mal unter Windows effektiv entwickelt hab 😉 )
Von wegen Einrücken Bearbeiten sehe ich das Zend-Framework Formatting Template eh als allgemeingültig( ist in meinem Umfeld defacto-standard geworden) und das ist mit ein paar klicks eingestellt.
Und wer FTP/SFTP-Connections braucht macht irgendwas falsch, weil man quasi nie ohne lokale Kopie und Versionskontrolle arbeiten sollte und da fällt RemoteEditing schonmal in die Kategorie unsinnig 😉 Und wenn die Codebase nicht zu groß ist reicht auch schonmal der vi/nano/pico/whatever um ne schnelle Änderung zu machen^^
Maik K
19 Okt 10 at 23:35
[…] Vorschau beim PHP Gangsta […]
PhpStorm: Weihnachtsangebot | LocalDev
30 Nov 10 at 12:46
[…] noch ein netter Artikel drüber https://www.phpgangsta.de/eindrucke-der-aktuellen-phpstorm-ide-vorschau Dieser Beitrag wurde unter php abgelegt und mit ide, phpstorm verschlagwortet. Setze ein […]
PHPStorm IDE jetzt mit 50% Rabatt - Web Developer Blog
3 Dez 10 at 23:09
Mgast du nicht etwas über die „wirklich nützlichen Features“ von PHPStorm bloggen?*g*
ragtek
13 Dez 10 at 23:51
[…] war ich damit auch sehr zufrieden, bin vor einiger Zeit im Blog von PHP Gangsta über eine neue IDE gestolpert: PHP […]
Entwicklertools – PHP Storm | Weyand zwo.null
27 Mrz 11 at 14:20
Ich war auf der Suche nach Informationen zur neuen Version 3 von PhpStorm, dabei bin ich auf diese Seite gestoßen, vielen Dank!
Ich nutze PhpStorm seit fast einem Jahr und bin wirklich begeistert von dessen Fähigkeiten. Es sind, wie gesagt, viele kleine Dinge, bei denen man denkt: „Wow, genau so sollte das sein“ oder „warum habe ich das bisher immer von Hand gemacht?“
Ich nutze JetBrains Tools auch für .NET und weiß daher, dass sie exzellenten Support und herausragende Produkte zu einem mehr als akzeptablen Preis liefern.
Der Vergleich mit OpenSource Angeboten verzerrt jedoch immer, denn letzten Endes kosten gute Werkzeuge entsprechend. Und JetBrains hat sehr faire Preise. Wer damit also Geld verdienen will, der denkt bei den Preisen nicht zweimal nach.
Wer hingegen in der OS Community entwielt, für den gibt es eben kostenlose OS-Lizenzen, auch das ein sehr faires Angebot.
Im Übrigen habe ich den Code Inspector bisher stiefmütterlich behandelt. Jetzt werde ich ihn mir aber mal genauer ansehen.
Vielen Dank und besten Gruß!
Sebastian
30 Sep 11 at 08:59
Ich würde sofort umsteigen, aber es gibt da ein „Killer-Feature“:
### Autosave ist nicht abschaltbar ###
Es gibt zwar eine History, doch wenn man sich versehentlich vertut, schaut man da ja auch nicht rein.
Auch einen Riesenblog gibts dazu – aber man will nichts ändern. Schade.
Klemens
8 Nov 12 at 21:41
@Klemens Darüber habe ich noch nie nachgedacht, das automatische Speichern ist meiner Ansicht nach ein großartiges Feature. Die einzige Situation, in der „ohne nachzufragen“ gespeichert wird ist wenn man PHPStorm beendet soweit ich weiß. Die beiden anderen Ereignisse, an denen gespeichert werden kann, sind abschaltbar:
– Wenn man das Fenster wechselt („frame deactivation“)
– Wenn die Applikation für 15 Sekunden nicht genutzt wird („application is idle for X seconds“)
D.h du hast Angst davor, aus Versehen Änderungen zu machen die du nicht machen möchtest? Demnach nutzt du kein Versionskontrollsystem wie z.B. Git? Dann bekommt man solche versehentliche Änderungen ja mit (git diff).
Ich verstehe das Problem, ist mir aber noch nie zum Nachteil geworden, ich habe sogar beide optionalen Abspeichermöglichkeiten angeschaltet, damit möglichst oft gespeichert wird, und ich beim Wechsel in den Browser ein automatisches Speichern habe. Seit PHPStorm habe ich nie wieder manuell gespeichert, ich empfinde das als sehr großen Vorteil.
Michael Kliewe
9 Nov 12 at 00:07
Ich bevorzuge die Verwendung von Codelobster IDE – http://www.codelobster.com
Stanislav Ustimenko
18 Dez 19 at 09:41