PHP Entwicklungsumgebung

wegus

wegus

MU Team
Thread Starter
Dabei seit
13.09.2004
Beiträge
19.702
Reaktionspunkte
7.551
Immer wieder taucht die Frage auf, wie man jenseits von Editoren mit Syntax-Highlighting komplexere PHP-Projekte auf dem Mac entwickeln kann. Ich habe dabei schon einige Ansätze durch und dabei eine Lieblingskonfoguration gefunden, die ich gern mitteilen mag. Ich denke der eine oder andere kann es ganz gut gebrauchen. Die Doku ist bei weitem noch nicht fertig. Hinweise zu schwer verständlichen oder unvollständigen Stellen sind daher gern gesehen. Meine IDE basiert auf:

- Mac OS Leopard ( Panher und Tiger dürften auch ohne Probleme funktionieren)
- Eclipse als IDE
- PDT als Plugin für PHP-Projekte
- MAMP als Apache/Mysql/PHP - Umgebung

ich weiß das Mac OS nat. Apache und PHP mitbringt aber ehrlich gesagt magich eine Entwicklungsumgebung auch mal so verbiegen wie sie für das Projekt aussehen muß ohne mir den eigenen Webserver zu ruinieren und zum anderen ist das Mac OS PHP zwar eine aktuelle PHP-Library aber eben kein komplettes und leicht erweiterbares PHP, wie es etwa MAMP mitliefert oder wie es auch von entropy.ch zu haben ist.



Gruß

wegus
 
  • Gefällt mir
Reaktionen: martinibook und _ebm_
So der Artikel ist fertig und beschreibt nun wie man mittel Eclispe/PDT als IDE und der Integration von MAMP als Testumgebung unter Nutzung des Javadoc-Mechanismus zur Dokumentation und ant als Skriptsprache eine sehr elegante Entwicklungsumgebung für PHP erstellen kann. Zumidets ich halte es für die eleganteste mir bekannte Möglichkeit ;)
 
Danke wegus. Ich lese mir den Artikel bei Gelegenheit durch und probiere das mal aus. Eclipse nutze ich zwar schon lange als IDE nur hatte ich bis jetzt noch nicht die Zeit und Musse mir PHP und Apache damit zu verknüpfen.
 
die Verzahnung findet nur mit der PHP-Version statt. man könnte ergo auch ein PHP von entropy.ch nehmen nur läuft da gerade der Zenddebugger nicht mit :(

Interessant ist das eh nur für User die mit PHP intensicer arbeiten und spezielle Fähigkeiten für PHP brauchen ( etwa Anbindung an Datenbanken,...)

Ich hab mich bemüht das alles Newbie freundlich zu halten, wobei die Zielgruppe doch eher der Runaway sein wird.
Mich würde es interessieren wenn da falsche, zu kurz gefasste oder unverständliche Inhalte in der Beschreibung wären! :jaja:
 
Hi wegus, hab mir gerade mal die Zeit genommen und bin das Howto durchgegangen.

Meine kleinen Kritikpunkte wären:

Bei der Installation von Eclipse bzw. den Plugins ist es nicht ganz klar was man nun herunterladen/installieren soll. Vlt. wäre es auch einfacher mitzuteilen dass es ein All-In-One-Download für PDT gibt. Der Link dazu ist immer in den einzelnen Releases enthalten. Das aktuelle Release: http://download.eclipse.org/tools/pdt/downloads/release.php?release=S20071213-M1


Kleineere Rechtschreibfehler. Manchmal kommt man dabei ins stutzen. :)

Ansonsten ging alles super. ABER: Der Debugger funktioniert nich. ;) Laut PHP-Info ist der Debugger korrekt eingebunden und das richtige Executable wird von Eclipse verwendet. Ein Test mit
Code:
<?php
xxx
phpinfo();
?>
gibt im Debug-View allerdings nur
Content-type: text/html
aus.
Hast Du eine Idee woran dies liegen könnte? error_reporting sitzt auf E_ALL.
 
dms schrieb:
Vlt. wäre es auch einfacher mitzuteilen dass es ein All-In-One-Download für PDT gibt.

Bestimmt, ich mag die Dinger aber nicht! Wer mag hat ja Deinen Link hier :)
Ich werde aber den Hinweis auf das WTP verdeutlichen!


Danke korrigiere ich!

dms schrieb:
Kleineere Rechtschreibfehler. Manchmal kommt man dabei ins stutzen.

dito

dms schrieb:
Hast Du eine Idee woran dies liegen könnte? error_reporting sitzt auf E_ALL.

der Debugger ist schon ein paar Tage alt. Aus genau dem Grund läuft er z.B. auch nicht mit dem PHP5 für Leopard von entropy.ch. Dort startet aber dann der ganze Apache gleich nicht mehr, resp. man muß ihn in den 32Bit-Mode zwingen. Mit MAMP hab ich so bisher die besten Ergebnisse erziehlt. Allerdings kann man in der Tat den erkannten Debugger nicht vollständig nutzen. ein error_log("Fehlertext",2,"localhost") sollte dann ja auch bei Eclipse im Debug-fenster stehen. tut es leider nicht.

Lösungen dazu nehme ich gerne auf ( vielleicht hat jemand mal nen aktuellen XDEbug probiert?)
 
Den link von Dir habe ich integriert DMS! Danke :)
 
Nachdem mich die Verwendung von Eclipse Ganymede für PDT einige graue Haare gekostet hat und ich jetzt eine funktionierende Umgebung habe, sei auch dieser Hinweis hier veröffentlicht:

Alles begann nämlich damit das das alte PDT 1.x nicht mehr unter Ganymede zu laufen scheint. Die neuen PDTs aber Fehler verursachten ( an denen sie am Ende gar nicht Schuld waren). Es begann also eine Google-Odyssee, die ich allen erparen mag, die folgende Kombination als IDE verwenden möchten:

- MacPorts mit installiertem Apache2, PHP5, XDebugger, MySQL oder Postgres
- Subversion in der aktuellen Version 1.51
- Eclipse Ganyemede (3.4)
- DLTK ( wichtig: >= 1.0 - nicht 0.95!)
- PDT2.0 (Integration Builds)

meine IDE in dieser Form läuft derzeit prima, ich hätte mir von Eclipse nur mit Ganymede ein transparenteres Installationsmodul gewünscht. Warum DLTK immer noch in der alten Version 0.95 installiert ist wenn es längst eine Version 1.0 gibt ist mir ebenso schleierhaft, wie die fehlende Standardunterstützung für PHP im DLTK ( wo es PDT doch nun schon länger gibt). Auch das man sich für Subversive statt Subclipse entscheiden hat und dessen Installation ebenfalls unnötig komplex gemacht hat läßt IMHO noch genügend Arbeit für Eclipse 3.5 offen!

Ich zumindest habe meine IDE jetzt auch in Ganymede aktiv bekommen. Ich hoffe es hiflt hier noch Anderen.
 
PDT 2.0 ist fast fertig! Auf


www.eclipse.org/pdt

gibt es ein schon recht gut funktionerenden RC1 vom PDT2! Wichtig bitte unbedingt vorher ein DLTK ab Version 1 installieren ( meist ist bei Ganymed noch 0.95 dabei!).


EDIT: mit RC2 und dem dort auf der Download-Seite angegebenen Integration-Build vom DLTK funktioniert PDT2 schon sehr gut. Auch PHP Explorer und PHP-Project-Outline funktionieren wieder tadellos.
 
Zuletzt bearbeitet:
PDT2 ist nun seit einige Tagen als GA, also als fertiges Release zu beziehen! Bedenkt aber auch das ein aktuelles DLTK dazu von Nöten ist! Wer den Aufwand scheut kann auch eine der üblichen AllinOne-Versionen laden!
 
vielen Dank für das super Tutorial
 
Ich habe übrigens gerade mal wieder XDebug eine Chance gegeben. Ich finde das Netbeans mit der Version 6.5 erheblich an Leistung auch für PHP hinzugewonnen hat. Für Macuser hat es den Charme gleich inklusive SVN alles an Board konfiguriert zu haben. Die Code-Completion tut es auch für das requiren von Dateien.

Allein XDebug hatt nie richtig funktioniert bisher(2.0.2 und 2.0.3). Nun habe ich mit XDebug 2.0.4 einen neuen Versuch gestartet und (src-tarball von xdebug.org) und muß sagen das funktioniert wieder ganz prima! Der Debugger tut was er tun soll und das leichter und reproduzierbarer als mit dem PDT/ZendDebugger gespann ( der mal breakpoints ignoriert und mal nicht...). PDT/XDebug hab ich noch nicht probiert, wird dann aber sicher auch laufen.

Also wer XDebug mag, der kann einen neuen Versuch starten seit 2.0.4 :)
 
Das klingt ja sehr interessant, Netbeans hatte ich für PHP noch nie in Betracht gezogen. Aber mit XDebug, SVN und Code-Completion an Board klingt das ja schon mal ganz nett. Wenn ich in der nächsten Zeit zu einem Test komme, werde ich hier auch davon berichten.
 
oh das kann PDT auch alles. Das schöne an Netbeans ist halt das es out of the box funktioniert und das eben require und require_once auch tatsächlich eine completion auf Dateinamen ermöglichen. Auch gibt es Netbeans als eine PHP-only Version ( also ohne Ruby,Java,...) und ist dann deutlich kompakter als ein IDE-Molpoch für alles (wobei bei mir dann meist doch schnell ein Plugin zum anderen kommt :) ).

Auch ist das ganze bei Netbeans etwas besser dokumentiert:

http://www.netbeans.org/kb/trails/php.html

Bei Eclipse gefällt mir bisher die SVN Integration mit Subclipse sehr gut. Mal schauen ob Netbeans da überhaupt hinkommt...
EDIT: Ja Xdebug 2.0.4 läuft erwartungsgemäß auch mit Eclipse :)
 
Zuletzt bearbeitet:
Bin leider noch nicht dazu gekommen, mir das anzuschauen, vllt. schaffe ich das ja heute abend.
Beim PDT hab ich bisher das Problem, dass die Codevervollständig oft nicht funktioniert, aber möglicherweise liegt das auch an meiner alten Version. Subclipse läuft auch bei mir meist sehr gut, aber 2-3mal hat sich Eclipse daran aufgehangen.

Besitzt die NetBeans-IDE einen PHP-Code-Browser?
 
Ja nat besitzt sie den!

Subclipse hängt sich nicht auf. Was man aber tuen sollte ist in eclipse.ini die Werte für min/max Speicher erweitern und jedesmal einen Clean-Start zu erzwingen.

Code-Completion funktioniert in PDT wie in Netbeans wenn man sich an die Javadoc/PHPDoc Notation hält. also auch für jedes public Attribut einer Klasse etwas a la:

Code:
class Test {
  
  /**
   * Name ist ein String mit dem Nachnamen einer Person
   */

  public name;

} // end of class Test

einträgt. Das ist nicht nur für die Dokumentation korrekt und hilfreich, das hilft auch der Code-Completion in beiden IDEs! Bei Methoden ist dabei nat. auch immer brav @author, @param und @return mit anzugeben und schon hat man eine gute Code-Completion mit hervorragender Dokumentation der eigenen PHP-Libs :)

Was NB 6.5 deutlich besser kann als Eclipse ist die Tatsache das es startklar zur Verfügung steht und eine hervorragende Dokumentation auf der WebSite hat. Das geht bis hin zum Anlegen eines Library-Pools mit Javascript Bibliotheken oder aber wie man Projekt- und Webverzeichnis sinnvoll trennt,... . Dabei wird auch auf Besonderheiten beim Mac in der Dokumentation explizit eingegangen. Auch gibt es zahlreiche Videos und Podcasts zur Illustration. Wer also bei Eclipse/PDT entnervt aufgegeben hat, kann hier einen zweiten Anlauf starten.
 
Zuletzt bearbeitet:
Die Energie die in die PHP-IDE bei Netbeans gesteckt wird ist beeindruckend,
hier eine URL wo man einen Blick auf kommende Features werfen kann:

http://blogs.sun.com/netbeansphp/
 
Nun komme ich leider noch nicht richtig zum Test, weil ich folgenden Fehler beim SVN-Commit erhalte:
org.tigris.subversion.javahl.ClientException: Network connection closed unexpectedly
Connection closed unexpectedly
Die Verbindung soll via svn+ssh:///host/path/to/repo laufen und in Subclipse funktioniert diese auch. Any hints?

Grüße
 
Zurück
Oben Unten