http://matthias-hielscher.de/blog/219/PHP_Eclipse_-_Eine_klasse_PHP-IDE.html
Feb
26

PHP Eclipse - Eine klasse PHP-IDE

Seit Monaten nutze ich den PHP Designer 2006 zum Schreiben von PHP-Skripten und Websites. Heute bin ich wieder auf PHP Eclipse aufmerksam geworden. Vor einiger Zeit habe ich damit herumgespielt, doch enthielt Eclipse oder das PHP-Plugin damals noch sehr viele Fehler und war für mich nicht ausgereift genug. Mittlerweile ist es die beste PHP-Entwicklungsumgebung, die ich kenne.

Die unter JAVA-Programmieren beliebte IDE Eclipse (aktuelle Version: 3.2.2) kann durch zahlreiche Plugins erweitert werden. Für PHP-Entwickler sehr zu empfehlen ist PHP Eclipse.

Den Umfang kann ich hier nicht erklären, da gäbe es viel zu viel zu erzählen. Spitze ist, dass Eclipse die Dateien eines Projekts flott durchgeht und Fehler bzw. Warnungen ausgibt, zu denen man aufgrund der tollen Benutzerfreundlichkeit leicht springen und diese beheben kann. Code-Folding ist ebenfalls integriert, wobei es nicht unbedingt benötige. Übersichtlich werden auch die Funktionen in der aktuellen Datei und die eingebundenen PHP-Dateien aufgelistet. Was ich ständig nutze ist die Möglichkeit, aus PHP-Dateien heraus schnell zu Funktionen zu springen, die man in dieser Datei aufruft, auch wenn sich diese in anderen Dateien befinden. Wer mit PHP arbeitet, sollte sich den Download der rund 130 MB näher ansehen.
Ich habe aufgrund von PHP Eclipse nun festgestellt, wie viele Fehler ich in meinen Funktionen auf dieser Website hier habe. Dies sind keine sicherheitskritischen Dinge, das ist klar, aber unter bestimmten Fällen wären einige Variablen nicht definiert gewesen, was zu einer Fehlermeldung führen würde. Diese werden zwar alle protokolliert und mitgeteilt, aber dennoch muss das ja nicht sein. \;\)

Auf dem Screenshot seht ihr, was ich meine:



Eclipse läuft übrigens auch unter Linux und MacOS-X. \:\)

Sodele, nun geht's an die Optimierung und Behebung der Warnungen bzw. Fehler.

Anmerkung:
In absehbarer Zeit wird die Tochterfirma von Borland "GodeGear" Delphi for PHP herausbringen. Ich bin auch gespannt, wie diese Entwicklungsumgebung sein wird, sie klingt vielversprechend. Die OpenSource-Konkurrenz ist zwar da, aber PHPEclipse ist wohl auf die "Allestipper" ausgelegt, während Delphi 4 PHP einem viel Tipperei abnimmt, was natürlich auch Nachteile haben kann.

Einen Vorgeschmack auf Delphi for PHP findet ihr bei CodeGear: Delphi for PHP quick start und Delphi for PHP.
Ich denke jedoch, diese IDE ist mehr an die gerichtet, die sich eine Website zusammenklicken wollen, wie man es von Microsoft Frontpage bzw. Dreamweaver her kennt und den PHP-Code wie gewohnt selbst schreiben.
Aber lassen wir uns überraschen. \:\)

Bleibe auf dem Laufenden!

Wenn du den RSS-Feed abonnierst, wirst du über neue Blogeinträge benachrichtigt.

Kommentare

  • Manu
    (registriert)
    26.02.2007, 21:18
  • Das kann ich nur bestätigen. PHPEclipse ist ein super Plugin, mit dem aus auch endlich mal wieder Freude macht, PHP zu scripten. \:\)
  • Matze
    (registriert)
    12.02.2008, 13:22
  • Ähnliche Features hat PDT. Das ist ebenfalls ein Eclipse-Plugin, was ich noch etwas besser als PHPEclipse finde, da es in einigen Dingen besser funktioniert. \:\)
    PHPEclipse nutze ich daher nicht mehr.
  • R2C2
    22.02.2008, 15:32
  • Nutze auch PDT. Kann das nur empfehlen. Sogar die phpDoc-Kommentare werden geparst und in die Infos in die Codevervollständigung(in VS: "IntelliSese") eingebaut. Klasse!

    Leider zeigt PDT aber keine uninitialisierten Variablen, etc. an... schade...

    mfg

    Christian
  • Matze
    (registriert)
    24.02.2008, 09:31
  • Stimmt, das mit den nicht initialisierten Variablen ist mir noch gar nicht aufgefallen.
    PDT schafft es auch nicht, die Parameter von Methoden darzustellen, die man so aufruft:

    PHP-Code:
    $this->irgendwas->methode();

    Man braucht das natürlich auch eher selten.

    Grüße
  • R2C2
    25.02.2008, 18:38
  • Was meinst du genau? Vermisst du n Hint, der dir anzeigt, welche Parameter gefordert sind? Gibts doch. Wie ich schon geschrieben hab sogar inklusive Parsen von phpDoc-Kommentaren...
    Zum Aufrufen entweder bis zum Klammer tippen oder hinterher per Shift+Strg+Space
    Und sogar HelpInsight(so heißt das doch bei Delphi?) gibts...

    mfg

    Christian
  • Matze
    (registriert)
    25.02.2008, 19:18
  • Es geht, das ist richtig, jedoch nur für eine "Verschachtelung". Also bei

    PHP-Code:
    $this->methode()

    zeigt PDT mir die Parameter als Hint an, bei

    PHP-Code:
    $this->irgendwas->methode();

    scheint PDT die Zusammenhänge nicht zu kennen. Es werden hier keine Hints gezeigt. Auch kann man bei letztem Code nicht per Shift+Maustaste zur "methode()" springen. Das geht nur beim ersten Code-Schnipsel.

    Grüße
  • R2C2
    25.02.2008, 19:54
  • Kann das PHPEclipse? Würd mich ehrlich gesagt wundern. PHP is dynamisch typisiert. Zur Designtime ist nicht klar, welchen Typ 'irgendwas' hat. Die erste "Ebene" geht noch, weil wohl einfach das 'new' rausgeparst wird. Und selbst da kann man PDT austricksen:

    [code=php]function foo()
    {
    global $obj;
    $obj = 42;
    }

    $obj = new SomeObject();
    foo();
    $obj->[/code]

    Ich hoffe das geht so mit den PHP-Tags.

    BTW: Hier fehlt eindeutig eine Vorschau-Funktion...

    mfg

    Christian
  • Matze
    (registriert)
    25.02.2008, 20:36
  • Ob das PHPEclipse kann, weiß ich nicht genau. Ich habe das nur feststellen können. Aber das braucht man ja auch nicht allzu oft.

    Das Parsen zur Designtime ist sicher kein großes Problem.
    In meinem beispiel von $this auf irgendwas() z uschließen, klappt ja. Und dann von irgendwas() zu methode() ist sicher machbar.

    Aber evtl. wird das nicht so sehr benötigt, dass sich das rentiert.

    Grüße

    PS: Stimmt, eine Vorschaufunktion wäre nicht schlecht.
    Vielleicht baue ich die irgendwann ein, zur Zeit haben jedoch andere Dinge Priorität.
    Die Tags sind übrigens: [code=php][/code]
  • Stas
    19.05.2016, 16:16
  • I use Codelobster: http://www.codelobster.com

Einen Kommentar schreiben

 
 
  • : *
  • :
  • : *
* Pflichtfelder