PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


PHPStorm 2.0 – meine favorisierte IDE für PHP

with 47 comments

Am 14. Februar 2011 ist PHPStorm 2.0 erschienen, also vor einem Monat, höchste Zeit sich die neue Version genauer anzuschauen und die Features zu beleuchten.

Seit dem ersten Tag, an dem ich PHPStorm kennengelernt habe, möchte ich es nicht mehr missen, ich trauere eclipse PDT keine Träne nach. Natürlich könnte ich nun eine lange Liste mit Features präsentieren, aber ich zeige lieber einige Screenshots im Vergleich zu eclipse PDT (aktuelle 2.2).

Ich kratze hier nur an der Oberfläche und zeige nur sehr wenige Dinge, die PHPStorm zu einer deutlich besseren IDE machen. Es gibt viel viel mehr zu entdecken, ich kann jedem nur ans Herz legen, PHPStorm auszuprobieren, es gibt eine Trialversion für 30 Tage, und auch Beta-Versionen (EAP genannt) stehen regelmäßig kostenlos zur Verfügung.

Also, ich kratze nur an der Oberfläche, ich kann aus Zeitgründen einfach nicht alles zeigen.

Zu Beginn dieses Tests habe ich in beiden IDEs ein leeres Projekt erstellt, und jeweils das Zend Framework als externe Library eingebunden. Dann schreibe ich die erste Zeile Code:

<?php 
$feedReader = new ZFR

In beiden IDEs erhalte ich nun eine Autovervollständigungsliste (in diesem Fall nutze ich „camel word prefixes“ um weniger schreiben zu müssen 😉 ):

PHPStorm:

PDT:

Interessant ist die Reihenfolge der Vorgeschläge, PHPStorm sortiert nicht nur stumpf alphabetisch, sondern nach Häufigkeit des Gebrauchs. Man sieht an diesem Screenshot einen wichtigen Unterschied, der mir früher gar nicht richtig aufgefallen ist: Variablen werden in PDT nicht farbig dargestellt, sie fallen also nicht so schnell ins Auge.

Die Fehlererkennung ist allgemein beim PHPStorm besser, siehe folgendes einfaches Beispiel: Ich übergebe der Funktion importFeed() eine URL, anstatt eines Objektes das von Zend_Feed_Abstract erbt. PDT erkennt diesen einfachen Fehler nicht. Auch erkennt PDT in der 4. Zeile nicht den Tippfehler. Wie viel Zeit solche kleine Hinweise sparen können brauche ich nicht vorzurechnen:

PDT:

PHPStorm:

Ein weiteres kleines Beispiel. Ich habe folgenden Code:

<?php
class A {
	public function output($string) 	{
 		echo $string;
 	}
} 

class B {
	public function output($string) 
	{ 
		echo $string; 
	}
} 

$a = new A(); 
$a->output('test1');

$b = new B();
$b->output('test1');

Ich möchte nun die output() Methode der Klasse A umbenennen. Da ich nicht genau weiß in welchen anderen Dateien diese Methode aufgerufen wird, bleibt mir in PDT nichts anderes übrig als im ganzen Projekt nach „output“ zu suchen und zu prüfen, ob ich dort auch Änderungen durchführen muss. Bei großen Projekten wird das schnell sehr aufwändig, und ich habe viele False-Positives.

In PHPStorm gibt es dafür IDE-Funktionen, ich klicke einfach auf „Refactor -> Rename…“ und dann werde ich gefragt, wie ich die Methode nun nennen möchte, es werden automatisch alle Stellen, an denen diese Methode (und nur diese, nicht die output() Methode von Klasse B) genutzt wird, angepasst. Tolle Sache, das gilt übrigens auch für Variablen und Klassen.

Thema eingebettete Sprachen. Ich schreibe einen SQL-Query:

PDT:

PHPStorm:

Es gibt SQL Autovervollständigung, PHPStorm hat gemerkt dass ich einen SQL Befehl schreibe!

Das selbe gilt auch für andere Sprachen, wie Javascript, HTML usw. Wenn man Javascript direkt schreibt (also ohne das echo) können beide autovervollständigen, aber PHPStorm kann es auch innerhalb eines Strings:

PDT:

PHPStorm:

Beim Schreiben von HTML, Javascript und CSS erhalte ich wo es nur geht Autovervollständigungen, und ich kann vieles mit Cmd+Linksklick direkt anklicken und zur Quelle springen. Folgendes Beispiel:

PHPStorm:

Man sieht die Autovervollständigung der CSS-Klassen. In Zeile 6 erhalte ich Autovervollständigung beim Schreiben des href-Tags, sodass ich auch garantiert eine existierende Datei dort reinschreibe. Ich kann mit Cmd+Linksklick auf den Dateinamen style.css klicken und lande in der Datei, ebenso kann ich auf die CSS-Klasse „external“ klicken und lande bei der Definition eben dieser. Ich kann mir, wie im unteren Teil des Screenshots zu sehen, zu einem Tag (in diesem Fall dem ersten div Tag) die angewendeten CSS-Style-Definitionen anschauen, woher sie kommen, welche überschrieben werden etc. Dazu muss ich beim PDT erst die Webseite mit Firefox und dem Firebug besuchen, mit PHPStorm geht das direkt in der IDE.

Ein weiteres tolles Feature ist die neue GitHub-Integration. Ich kann direkt aus der IDE heraus ein existierendes GitHub-Projekt auschecken oder mein aktuelles Projekt dort importieren (pushen):

Das war jetzt nur ein Dutzend kleiner Vorteile die ich schnell und einfach zeigen kann, je mehr Code man hat umso öfter wird man auf Funktionen stossen, die es in anderen IDEs nicht gibt, und die man auch zu schätzen lernt.

Funktionen der aktuellen Version 2.0: Voller PHP 5.3 Support (Namespaces, Lambda-Funktionen, Closures…), erweiteter Git-Support (alles was man sich wünschen kann), Zero-Configuration-Debugging, GitHub Integration, verbesserter Code Inspector (unbedingt ausprobieren!), und das sind nur die neue bzw. verbesserten Features, alle aufzuzählen würde Bücher füllen.

Auf diese und weitere Features und Killerfeatures gehe ich hier nicht ein, wenn ihr PHPStorm näher kennenlernen wollt, nehmt euch 10 Minuten und lest die Feature-Seite in Ruhe durch, schaut euch diese 6 Screencasts an (insgesamt 20 Minuten) und dann probiert es kostenfrei aus, ich bin davon überzeugt, ihr werdet bei PHPStorm bleiben nach der üblichen Umgewöhnungszeit von einigen Stunden, und ihr werdet auch nach Monaten noch viele nützliche Funktionen finden, diese IDE kann einfach so unglaublich viel und ist dennoch schnell auch bei großen Projekten.

Wenn ihr es ausprobiert habt und es kaufen wollt, sagt doch kurz Bescheid, falls sich genug Leute finden kann ich ja mal anfragen ob wir einen Rabatt bekommen.

Written by Michael Kliewe

März 22nd, 2011 at 9:38 am

47 Responses to 'PHPStorm 2.0 – meine favorisierte IDE für PHP'

Subscribe to comments with RSS or TrackBack to 'PHPStorm 2.0 – meine favorisierte IDE für PHP'.

  1. ich ziehe momentan auch von zend studio nach phpstorm, nur die workbenches fehlen mir extremst.

    tim

    22 Mrz 11 at 09:43

  2. Ich hab vor zwei Jahren aufgehört mit Eclipse basierten Editoren zu arbeiten weil mir diese zu Schwergewichtig vorkamen. Der einzige Vorteil gegenüber Textmate war damals die Vorschlagsfunktion. Anscheinend hat sich hier aber jede Menge getan, so dass ich fast mit dem Gedanken spiele PHPStorm mal auszuprobieren.

    Marcel

    22 Mrz 11 at 09:47

  3. Bin während der Beta von Zend Studio nach PHPStorm 2 gewechselt. Der wohl spürbarste Unterschied ist, dass PHPStorm einfach viel, viel schneller ist. Ausserdem arbeite ich damit wesentlich effizienter, da irgendwie intuitiver. Das Einzige was ich wirklich vermisste war die Code Completion für Zend Framework (gibt’s im Zend Studio). Zum Beispiel für View Helpers. Aber mit den sogenannten „Live Templates“ von PHPStorm kann man diesen Nachteil ziemlich gut abfangen.

    Meine Empfehlung hat das Ding!

    RubyMine ist übrigens auch von JetBrains und scheint ebenfalls sehr gut zu sein. Besonders für Windows User, die kein Textmate haben. :)

    Phil

    22 Mrz 11 at 10:29

  4. Bin schon zur Version 1.2 letztes Jahr eingestiegen und bin total begeistert von der Performance des PHPStorms.
    Ich weiß noch, wie der Eclipse das A und O der kostenfreien IDEs war, aber ich weine dem Eclipse PDT keine Träne mehr nach.

    Thomas

    22 Mrz 11 at 10:48

  5. PHPStorm ist aber weit von einer „nativen“ Mac OS-Anwendung entfernt. Wie es auf unteren Betriebssystemen aussieht oder sich anfühlt kann ich leider nicht sagen, aber unter Mac OS vermiest dieser alte Java-like-Kram erheblich den Arbeitsfluss:

    – komisches Geflacker in Dialogen
    – fremdartige Element für Scroll-Balken, Tabs, …
    – recht träge im Vergleich zu Netbeans

    Da sollte also noch unbedingt mal eine Überarbeitung/Anpassung erfolgen. Denn so schick die Features auch sind, die Oberfläche macht das nur madig.

    Walter S.

    22 Mrz 11 at 11:04

  6. Auch ich bin von PHPEclipse, über Zend und Netbeans letztendlich bei PHPStorm gelandet und es waren die besten 50 EUR (Weihnachtsaktion), die ich je investiert habe. Ehrlich gesagt wäre ich aber im Nachhinein auch bereit gewesen, die knapp 100 EUR zu investieren.

    @Walter
    Schonmal versucht das Look&Feel von Storm in den Settings anzupassen oder macht es das bei Dir auch nicht besser?

    ezod

    22 Mrz 11 at 11:48

  7. @ezod
    Es heißt zwar unter „Look and feel“ „Mac OS X“, aber die Programmoberfläche ist davon noch weit weg. Wie gesagt, die Scrollbalken gibt es unter „Mac OS“ so nicht und schon alleine der Dialog von „Settings“ ist ein absoluter Fremdkörper. Das würde eigentlich alles nicht groß stören, aber die Dialoge sind auch noch langsam, selbst der Wechsel wird mit einer „Loading“-Anzeige überbrückt.
    Sieht alles sehr nach „selbstgestrickt“ aus und nicht nach den „nativen“ Elementen von Mac OS. Es ist einfach nur träge und hemmt den Arbeitsfluss.

    Walter S.

    22 Mrz 11 at 13:52

  8. als hobbyentwickler sind mir die 100eur (brutto, die preise auf der webseite sind ja leider netto wie man dann im nachhinein feststellen darf) leider zuviel. die netbeans-umsteigeraktion für rubymine war hingegen ein sehr günstiges angebot, auf eine ähnliche aktion warte ich bei php – vielleicht stellt ja oracle demnächst auch den support für php bei netbeans ein 😉

    cmi

    22 Mrz 11 at 14:18

  9. Bei mir stürzte die ganze IDE in einem 30 minütigen Testlauf mehrfach ab und war in der Zwischenzeit extrem langsam und/oder zeigte deutliche Fehler im Bildaufbau. Sehr merkwürdig. Schade hätte gerne eine Alternative zum PDT gehabt.

    Andreas

    22 Mrz 11 at 18:16

  10. Wenn ich versuche, ein größeres OpenSource-PHP-Projekt in die IDE zum importieren (New Project from Existing Files), hängt die IDE sich nach einiger Zeit beim Indexing auf. Zudem wurden meine 4 Kerne von einer IDE noch nie so ausgereizt :-).

    Projektdaten:
    Directories: 325
    Files: 2928
    Classes: 2987

    Selbst wenn ich die VM-Werte (hier die Standardwerte)

    -Xms32m
    -Xmx500m
    -XX:MaxPermSize=150m

    in der Datei PhpStorm.vmoptions exorbitant erhöhe, reagiert die IDE nach einer gewissen Zeit nicht mehr (Ubuntu 10.04 64bit, 4 GB, Intel Core i5 mit 4 Kernen). Weder Eclipse, Netbeans, noch Zend Studio haben Probleme mit dieser Projektgröße.

    Fazit: Für kleine/mittlere Projekte top, für große Projekte scheinbar (noch) nicht geeignet.

    Michael

    22 Mrz 11 at 21:01

  11. Also ich arbeite hier an einem Projekt mit >5000 Dateien mit 1.1 Millionen Zeilen (Code und Kommentare) und hatte bei der Indexierung keinerlei Probleme. Kann mich auch nicht daran erinnern, dass dies irgendwie besonders lange ging. :S

    Phil

    22 Mrz 11 at 21:49

  12. @Andreas: Hast du Fehlermeldungen? Schau mal im Tracker nach ob die bereits bekannt sind, ich hatte ehrlich gesagt im letzten Jahr nicht einen Absturz, und ich habe schon die ganz frühen Betas von Version 2.0 genutzt.

    @Michael: ich kenne nur die Windows und Mac Variante, und da dauert es beim Zend Framework exakt 12 Sekunden für das initiale Laden des Projekts (from existing files) incl. Indizierung.
    Directories: 394
    Files: 1860
    Classes: 1763
    Ich habe auch größere Projekte wo ezcomponents, Zend Framework und weitere Libraries drin sind, und keine Performance Probleme. Welche Java-Version hast du?

    Michael Kliewe

    22 Mrz 11 at 21:56

  13. java version „1.6.0_24“
    Java(TM) SE Runtime Environment (build 1.6.0_24-b07)

    Michael

    23 Mrz 11 at 07:18

  14. Habe auch die Trial Version getestet. Ist jetzt letzte Woche ausgelaufen. Bin eigentlich ganz überzeugt und werde den Umstieg nun denke ich vollziehen. Wollte aber PDT noch ne Chance mit meiner neuen SSD geben 😉

    Weiterer Pluspunkt von PHPStorm:

    Codegeneration für Getter/Setter und zwar mit Unterstützung von mit Unterstrich deklarierten private Variablen.

    $_variable -> getVariable/setVariable

    Finde ich so bei PDT nicht und erspart Unmengen von Zeit.

    RennerChristian

    23 Mrz 11 at 07:31

  15. Für mich sind die meisten Features ein alter Hut, da ich seit Langem PHPEdit nutze.
    So viele Features und Anpassungen habe ich bisher bei noch keiner IDE gesehen. Trotzdem werde ich mir PHPStorm auch mal anschauen. Aber ich bin skeptisch 😉

    Orgon

    23 Mrz 11 at 09:33

  16. @Michael
    Nein leider kommt auch keine Fehlermeldung. Bei ändern einiger Optionen in den Einstellungen crasht PHPStorm reproduzierbar.
    Viel störender sind aber die Darstellungsfehler, insbesondere bei den einzelne Menüs. Dies kann aber einfach an der Kombination Java + Compiz liegen.

    Andreas

    23 Mrz 11 at 09:41

  17. Gibt es denn eine Möglichkeit auch Dateien auf einem Remotehost zu bearbeiten? Ähnlich wie mit Eclipse RSE? Kann diese Option nämlich nicht finden.

    Christian Kaps

    23 Mrz 11 at 10:17

  18. @Christian Kaps: Du kannst ein Projekt von einem SFTP/FTP/mounted share auschecken, und dann unter „Deployment Options“ das Häkchen bei „upload changed files automatically to the default server“.

    Das nutze ich auch bei einem Projekt. Wenn ich an dem Projekt anfange zu arbeiten mache ich einmal ein frisches „Download from…“, und dann werden gespeicherte Dateien automatisch hochgeladen. Aber das mache ich auch nur weil ich es muss, eine lokale Version + lokaler Webserver + git ist mir deutlich lieber.

    Aber „richtig“ auf dem FTP arbeiten wie das z.B. mit dem alten Zend Studio ging kann man soweit ich weiß nicht, da wurde beim Öffnen jeder Datei erst die Datei frisch heruntergeladen und auch beim Speichern automatisch hochgeladen, es gab lokal nur temporäre Dateien, nie das ganze Projekt. Und was das bedeutet brauche ich wohl nicht zu sagen: keine Autovervollständigung beispielsweise. Wenn man wie bei PHPStorm das ganze Projekt lokal hat, hat man zumindestens diesen Nachteil nicht.

    Michael Kliewe

    23 Mrz 11 at 10:29

  19. @Michael

    Mir geht es auch nicht darum auf dem RemoteServer produktiv zu arbeiten. Nur manchmal ist es auch wichtig einen Bug schnell zu fixen ohne das ganze Projekt noch mal neu auf den Server zu deployen.

    Christian Kaps

    23 Mrz 11 at 11:14

  20. Ich habe jetzt mal das Zend Framework als Projekt eingebunden:

    Directories: 949
    Files: 4346
    Lines of Code (LOC): 955785
    Interfaces: 125
    Classes: 4308

    Komischerweise gibt es hier keinerlei Probleme :-). So ein Mist, dass PHPStorm ausgerechnet mit dem Projekt ein Problem hat, mit dem ich mein Geld verdiene ;-).

    Michael

    23 Mrz 11 at 20:42

  21. @Michael Was ich glaube ich mal gelesen habe sind Probleme bei Dateien, die >10.000 Zeilen haben. Vielleicht gibt es da welche bei dir? Ansonsten vllt. mal das Problem eingrenzen (mal einige Ordner weglassen und testen) und das Probelm melden, die Jungs von JetBrains sind da recht fix mit Feedback im Issue-Tracker (die Issue-Tracker-Software Youtrack ist auch einen Blick wert, macht Spass dort Issues zu erstellen, vor allem Screenshots direkt aus der Zwischenablage einfügen und so 😉

    Michael Kliewe

    23 Mrz 11 at 21:52

  22. Das sieht ja letztendlich danach aus, als ob man davon ausgehen kann, dass es davon abhängt wie JAVA auf dem jeweiligem Systm performt. Das ist auch der Grund wieso ich das Skeptisch sehe. Ich bin aber durchaus beeindruckt, wie viele Dateien/Ordner die Projekte so haben!!!

    Marcel

    24 Mrz 11 at 01:00

  23. @Marcel

    Viele IDEs, wie Eclipse, Zend, Netbeans und auch Storm haben nun mal als Grundlage Java 😉

    ezod

    24 Mrz 11 at 09:20

  24. Hi,

    jetzt muss ich doch auch noch was dazu schreiben.
    PDT kann:
    – genauso refactoring
    – plugins: z.B. http://andrei.gmxhome.de/anyedit/index.html zum Umformatieren
    – Highlighting einer Variablen in der gesamten Datei
    – mit Strg+/ Code Auskommentieren
    – Source formatieren… nach verschiedenen Regelen z.B. Zend,PEAR etc.
    – zu „last edit’s“ springen.

    Das hab ich bei Storm alles nicht gefunden.
    Und ich habe keine Ahnung, wie man ohne dem Arbeiten kann.

    Andy

    24 Mrz 11 at 10:36

  25. Mir sind auch noch ein paar Dinge aufgefallen.

    – Die Codevervollständigung bringt keine API-Beschreibung sondern zeigt nur die Parameter.
    – Kein ANT Support

    Die IDE ist sicher interessant, es fehlen aber noch ein paar wichtige Funktionen

    Christian Kaps

    24 Mrz 11 at 15:21

  26. @Andy:
    – Kannst du mir sagen wie ich in PDT eine Methode oder Klasse und alle Stellen wo es benutzt wird, umbenenne? Rechtsklick->Refactor->Rename benennt die Datei um, nicht die Methode.
    – Ja, AnyEdit hatte ich auch installiert damals im PDT, um „Trailing Whitespaces“ beim Speichern zu entfernen. Kann PHPStorm von Haus aus. Wofür nutzt du AnyEdit?
    – Highlighting einer Variablen innerhalb des Scopes der Variablen: Einfach auf die Variable klicken, dann werden alle anderen Vorkommnisse in lila markiert
    – Code auskommentieren: Menu Code->Comment with… oder Shortcuts (je nach Betriebssystem anders, kann man auch umlegen in den Einstellungen->Keymap)
    – Source formatieren: Menu Code -> Reformat Code. Die Formatierungsregeln kann man in den Einstellungen projektabhängig frei wählen: Einstellungen -> Code Style (und ich würde sagen das geht dort deutlich detaillierter als im PDT)
    – was genau sind „last edit’s“? Vor und zurückspringen zwischen den letzten Stellen (quasi den Weg) kann man auch in PHPStorm, da ist oben ein Symbol (Blatt + Pfeil nach links/rechts).

    @Christian Kaps:
    – API-Beschreibung bekommt man mittels Strg+J unter Mac bzw. Strg+q unter Windows wenn ich das richtig in Erinnerung habe. Ich weiß nicht ob man irgendwie einstellen kann dass das auch direkt bei der Autocompletion oder beim Überfahren der Maus sichtbar wird.
    – Ant Support: So wie ich das gelesen habe gibt es aktuell kein Plugin dafür. Aber man kann es sicherlich mit Hilfe der „External Tools“ einbinden. Aber richtiger Ant-Support ist das nicht.

    Michael Kliewe

    24 Mrz 11 at 15:56

  27. Konkurrenz belebt das Geschäft, find ich ne gute Sache, dass weitere Konkurrenz auf den Markt drängt und sich anbietet.

    Wie denkt ihr, dass PHPStorm im Vergleich zu Netbeans abschneidet? Hab jetzt nicht wirklich etwas entdeckt, was PHPStorm bietet und Netbeans nicht.

    Von Eclipse bin ich schon lange weg. Das Teil ist für mich zu träge und zu wenig intuitiv (wer weiss, der neue Release wird ja vielleicht besser)

    Ralph Meier

    25 Mrz 11 at 11:20

  28. @Michael
    ich habe mir nun die Zeit genommen, die Punkte in PHPStorm nochmals anzuschauen.
    Als ich es Installiert habe, waren z.B. das Highlighting einer Variablen nicht aktiv. Wenn man sich ein bisschen Mühe mit den Settings gibt bekommt man tatsächlich alles was ich vorher vermisst habe.

    Die Gewohnheit macht es einem sehr schwer was neues auszuprobieren, wenn das „alte“ funktioniert.

    AnyEdit habe ich haupsächlich zum Upper-,lowercase formatieren benutzt.

    vielen Dank für’s kontra geben 😉

    Andy

    25 Mrz 11 at 17:12

  29. @Andy: Ich will gar kein Kontra geben, sondern nur Fakten herausarbeiten und helfen, und mir ist auch klar dass PHPStorm nicht die fehlerfreie Supersoftware ist.

    Kannst du mir aber noch erklären was du mit „Highlighting einer Variablen“ meinst? Wenn man auf eine Variable klickt (also irgendwo in die Mitte des Wortes), dann werden alle anderen Fundstellen innerhalb des Scopes markiert. Das geht bei mir direkt von Anfang an. Oder meinst du evtl. etwas anderes?

    Michael Kliewe

    26 Mrz 11 at 00:41

  30. Ich nutze phpStorm auch seit der frühen Betaphase und erfreue mich täglich mehr an der IDE. Das Beste ist eigentlich der extrem Intuitive GIT Support. Würde mich daher über weitere Artikel von dir freuen, um deine Arbeitsweise mit der IDE Kennenzulernen. Eventuell lernt man ja noch ein paar Kniffe, die man so nicht gesehen hat.

    Womit ich mich derzeit sehr herumschlage, ist die Geschichte mit Umlauten. Ich habe keine Konvertierungsfunktion gefunden, oder eine andere Möglichkeit, mit der automatisch Umlaute und Sonderzeichen in HTML Tags/ASCII Code umgewandelt werden. Habe mir jetzt mit einem kleinen Macro beholfen, doch eventuell kennt von euch ja jemand eine andere Lösung. Würde mich freuen, wenn da jemand eine Lösung parat hätte.

    Marcus

    31 Mrz 11 at 13:27

  31. Danke für die Empfehlung. Gerade noch Lizenz gekauft mit dem 50% Rabatt der Osteraktion :]

    Karsten

    1 Mai 11 at 01:05

  32. Hallo,

    nutzt jemand von euch PHPStorm zum debuggen in Verbindung mit Xdebug, wobei die Applikation in einer VM ausgeführt wird?

    Wenn ja, hat da jemand eventuell eine passende Anleitung für Konfiguration/Ablauf parat?

    Das wäre hilfreich!

    Marc

    8 Jul 11 at 17:39

  33. Michael Kliewe

    8 Jul 11 at 23:23

  34. @Michael:

    vielen Dank für die Links. Diese waren mir soweit bereis bekannt und haben mich leider noch nicht zum Ziel geführt.

    Zur Umgebung:
    – PHPStorm auf Windows
    – OpenSuse als VM – die VM wird über einen Host-Name der in der HOSTS-Datei konfiguriert ist angesprochen

    Die Konfiguration von XDebug sieht momentan wie folgt aus:
    zend_extension = „/usr/lib/php5/extensions/xdebug.so“
    xdebug.auto_trace = true
    xdebug.trace_output_dir = /home/linux/xdebuglogs
    xdebug.default_enable = 1
    xdebug.profiler_enable = 1
    xdebug.profiler_output_dir = /home/linux/xdebuglogs/profiler
    xdebug.remote_enable = 1
    xdebug.remote_port = 9000
    xdebug.remote_conect_back=1
    :qqxdebug.remote_autostart = 1
    xdebug.remote_log = /home/linux/xdebuglogs/remote
    xdebug.idekey= XDEBUG_PHPSTORM

    Leider kommt nur in der IDE nichts an.

    Nutzt Du selber XDebug und eventuell in einer ähnlichen Umgebung?

    Marc

    9 Jul 11 at 00:22

  35. @Marc: Leider nein, ich nutze nur lokales Debugging.

    Ein Tippfehler ist mir direkt aufgefallen beim Lesen:
    xdebug.remote_conect_back
    xdebug.remote_connect_back

    Vielleicht geht es dann schon? Werden denn bereits Profiler-Dateien in /home/linux/xdebuglogs/profiler erzeugt wenn du die Webseite aufrufst? Sind Fehler im Apache error.log oder im PHP error.log? Gibt es eventuell eine Firewall, die die Verbindung blockt?

    Michael Kliewe

    9 Jul 11 at 01:16

  36. Was benutzt Du denn für lokales Debugging?

    Die Logfiles werden im Verzeichnis erzeugt, Firewall würde ich ausschließen.

    Das mit der Konfigurationsvariable werde ich mal probieren.

    Marc

    9 Jul 11 at 16:43

  37. Ok, kaum konfiguriere ich den Remote-Host und remote_connect_back richtig funtkioniert es auch.

    Nur leider ist es bisher noch nicht möglich, eine Zend-Framework Anwendung über die index.php aus dem Public-Verzeichnis hinaus zu debuggen.

    Die einzelnen Controller, Models etc. werden leider nicht aufgerufen.

    Marc

    10 Jul 11 at 01:17

  38. Hi, all

    Ich kann das Programm nur empfehlen!
    Vorher hab ich mit Eclipse PDT gearbeitet, musste aber umsteigen, weil ich auf meinem Laptop mit einem Intel Centrino 1,6Ghz bei 1Gb immer so ca. 0.5 Sekunden warten musste (real! nicht übertrieben!), bis die IDE einen oder eine Reihe von Tastendrücken angenommen hatte. Ganz zu Schweigen von der AutoCompletion …

    Dabei habe ich nicht mit großen Frameworks oder so gearbeitet.

    Bin später gewechselt zu Netbeans, was schon mal flüssiger lief, aber immer noch nicht optimal und bin wieder zurück zu Notepad++.

    Als wir auf der Arbeit anfingen PhpStorm zu nutzen, hab‘ ich mir die Demo daheim auch geholt. Ey, ich kann das nur wärmstens empfehlen. Wenn’s euch zu teuer ist, wartet auf die nächste 50%-Aktion :) Die gibt’s da in regelmäßigen Abständen.

    Jetzt kann ich mit PhpStorm auch mit Symfony-Projekten oder Magento-Shops arbeiten.
    Nebenbei: Magento besteht aus über 15.000 Html- und PHP-Dateien. Eine Suche in allen Dateien dauert keine 2 Minuten.

    p.s. mittlerweile hab‘ ich nen upgrade auf 2Gb Ram hinnehmen können. Aber langsam wird ein neuer PC notwendig…

    Simon Schick

    26 Jul 11 at 14:10

  39. Das einzige, was ich bei phpStorm vermisse ist die Fähigkeit irgendein beliebiges Wort zu vervollständigen. Beispiel :“halloIchBinEinZiemlichLangesWortDassJedesMalKomplettNeuEingetipptWerdenMuss“. Kennt jemand eine Möglichkeit wie ich die Completion auf _alle_ Wörter innerhalb eines Dokuments erweitern kann?

    Vielleicht gibt es da ja auch eine von mir bisher übersehene Aktion, die sich mit nem Keyboard Shortcut versehen lässt. Ich hoffe es zumindest.

    Enno

    21 Aug 11 at 16:05

  40. @Enno: Wäre mir nicht bekannt dass das geht. In welchen IDEs geht das denn?

    Sonst einfach mal hier umschauen und ein neues Issue erstellen: Dann Votes sammeln und hoffen dass es umgesetzt wird:
    http://youtrack.jetbrains.net/issues/WI

    Michael Kliewe

    21 Aug 11 at 16:27

  41. @Enno: Schau mal hier, ist es das was du suchst?
    http://youtrack.jetbrains.net/issue/WI-5391
    http://youtrack.jetbrains.net/issue/WI-6961

    Schau mal unter
    Code->Complete Code->Cyclic Expand Word
    oder
    Code->Complete Code->Complete Word from Dictionary

    Michael Kliewe

    21 Aug 11 at 16:30

  42. You just saved my life. Tatsächlich war es genau diese TextMate-Funktionalität, die ich gesucht habe.

    Ich frag mich in solchen Momenten immer, was so smart people wie du googlen, dass sie auf sowas kommen und ich nich =/

    Aber vielen, vielen Dank.

    Enno

    25 Aug 11 at 21:46

  43. TextMate? 😉

    Michael Kliewe

    25 Aug 11 at 22:03

  44. Selbst damit finde ich innerhalb von 3 Minuten (die du ja laut Kommentardatum max. gebraucht hast) nicht den von dir verlinkten Artikel. Aber dafür gibt’s ja die Kommentarfunktion, hehe.

    Außerdem: hast du TextMate mal benutzt?

    Enno

    25 Aug 11 at 22:07

  45. Ich kenne nur eine Person die TextMate benutzt (*winke Florian*), für mich ist es nicht mehr als ein aufgebohrtes Notepad++, aber keine spezialisierte IDE für PHP…

    Michael Kliewe

    25 Aug 11 at 22:12

  46. Nee nee, mit PHP stößt man bei TextMate schnell an Grenzen. Aber für HTML/CSS-Sachen ganz brauchbar. Hat halt einige nützliche Funktionen, die ich (phpStorm ausgenommen) noch nirgendwo anders gesehen habe.

    Enno

    25 Aug 11 at 22:22

  47. […] PHPStorm 2.0 – meine favorisierte IDE für PHP […]

Leave a Reply

You can add images to your comment by clicking here.