Vergleich der Unterschiede zwischen 7 beliebten integrierten Entwicklungstools (IDEs) für PHP
In diesem Artikel werden alle Einsatzmöglichkeiten einer integrierten Entwicklungsumgebung (IDE) untersucht und die Kosten und Vorteile von sieben beliebten IDEs verglichen.
Das Schreiben dieser Artikelserie über PHP hat mir ein tieferes Verständnis der Welt der PHP-Entwickler vermittelt. Ich habe mit vielen PHP-Programmierern gesprochen und was mich am meisten überrascht, ist, wie wenige IDEs verwenden. Die meisten Programmierer verwenden einen Texteditor wie Notepad, Emacs oder Vim unter Microsoft Windows.
Die Texteditoren, die ich erwähnt habe (und die, die ich nicht erwähnt habe), sind alle großartig – ich möchte nicht darüber streiten, welcher Editor besser ist. Ich möchte jedoch betonen, dass Sie durch den Verzicht auf einen Texteditor einen tieferen Einblick in Ihren PHP-Code erhalten. Fast jeder denkt, ein PHP-Projekt sei nichts anderes als ein Verzeichnis von Dateien (eine sehr einseitige Sichtweise). Lassen Sie mich Sie nun in die Welt der IDEs entführen, Ihnen zeigen, was IDEs für Sie tun können – oder sollten – und Ihnen sieben der beliebtesten IDEs vorstellen.
Was ist eine IDE?
Kurz gesagt, IDE bietet einen One-Stop-Service für Codierungsarbeiten. Eine IDE umfasst einen Editor, in dem Sie Code bearbeiten, den Code debuggen, den Code in einem Browser (normalerweise eingebettet) anzeigen und die Quellcodeverwaltung ein- und auschecken können. Um diese Funktionen zu unterstützen, verfügt die IDE über eine Reihe von Funktionen, die in einfachen Editoren wie Notepad oder Vim nicht zu finden sind. Natürlich können Sie den Editor erweitern, um diese Funktionen zu nutzen, aber die IDE umfasst alle diese Funktionen in einem optimierten Paket – und alles ist vorkonfiguriert:
Projekt
Ein Hauptmerkmal der IDE besteht darin, dass sie eine PHP-Anwendung als Projekt und nicht nur als eine Reihe von Dateien behandelt. Dieses Konzept – ein Projekt – verwaltet zusätzliche Informationen, wie z. B. die Konfiguration der Quellcodeverwaltung, Datenbankeinstellungen für das Debuggen und den Speicherort bestimmter Schlüsselverzeichnisse.
debuggen
Eine weitere praktische Funktion ist das integrierte Debugging. Mit dieser Funktion können Sie Haltepunkte im Editor setzen und der PHP-Interpreter stoppt, wenn er dieses Skript erreicht. Von einem Haltepunkt aus können Sie die Werte lokaler Variablen überprüfen und Probleme in Ihrem Code diagnostizieren. Sie können die echo-Anweisung in Ihrem Code verwenden, um den Wert zu überprüfen, oder Sie können das Fehlerprotokoll verwenden, um den Wert der Variablen abzurufen.
Code-Intelligenz
PHP ist eine sehr reguläre Programmiersprache, das heißt, sie folgt einfachen Mustern. Diese Muster erleichtern nicht nur das Schreiben von Code, sondern erleichtern der IDE auch die Überprüfung des Codes im Projekt. Darüber hinaus können sie Ihnen beim Schreiben von Programmen helfen, indem sie die Ergebnisse von Inspektionen anzeigen. Wenn Sie beispielsweise in Ihrem Projekt eine Klasse mit dem Namen MyClass definiert haben und Sie das Schlüsselwort new eingeben, stellt die IDE sofort ein Popup bereit, das MyClass als Option enthält. Wenn ein Objekt dieses Typs verwendet wird, zeigt die IDE seine verfügbaren Methoden und Instanzvariablen an. Wenn Sie mit der Eingabe eines Funktionsbefehls beginnen, zeigt die IDE die verfügbaren Parameter an. Um fair zu sein, ist dies der Hauptgrund, warum Sie eine IDE anstelle eines Texteditors verwenden sollten. Diese Art von Codeintelligenz kann Tippfehler bei Klassennamen, Methodennamen und Parametern effektiv reduzieren.
Klassenansicht
Eine weitere Funktion der Code Intelligence Engine in der IDE besteht darin, dass die IDE eine Klassenansicht des Projekts generieren kann. Anstatt Dateien anzuzeigen, zeigt das System die verschiedenen definierten Klassen an, unabhängig von der Datei, in der sie sich befinden. Wenn auf eine Klasse geklickt wird, greift der Editor auf die entsprechende Datei zu und zeigt die entsprechende Klasse, Methode oder Instanzvariable an. Dies ist eine großartige Möglichkeit, in großen Projekten zu navigieren.
Mehrsprachige Unterstützung
Jede der hier genannten IDEs unterstützt nicht nur PHP, sondern auch einen verwandten Satz von Sprachen: JavaScript, Structured Query Language (SQL), Hypertext Markup Language (HTML) und Cascading Style Sheets (CSS). Da HTML und CSS relativ einfach sind, ist die IDE-Unterstützung für sie die beste. Die Unterstützung von Javascript hebt häufig die Syntax hervor, aber Unterstützung ist besser als keine Unterstützung.
Quellcodekontrolle
Alle hier besprochenen IDEs unterstützen eine gewisse Verbindung zu einem Versionsverwaltungssystem, sodass Versionen von Dateien in einem Projekt über einen längeren Zeitraum hinweg verwaltet werden können. Sie können eine bestimmte Version einer Datei als Release-Version markieren, damit Sie sie wiederherstellen können, wenn Änderungen rückgängig gemacht werden müssen. Die Verwendung eines Versionsverwaltungssystems ist in einer Teamumgebung von entscheidender Bedeutung, auch für den persönlichen Gebrauch. Ein gutes Quellcodeverwaltungssystem kommt ins Spiel, wenn die Festplatte abstürzt oder ein Kunde plötzlich eine frühere Version anstelle der aktuellen möchte. Die meisten IDEs unterstützen Concurrent Version System (CVS) und Subversion, beide Open-Source-Steuerungssysteme. Eine der IDEs unterstützt Perforce – ein kommerzielles Quellcodeverwaltungssystem.
FTP/SFTP-Integration
Eine Funktion im Zusammenhang mit der Quellcodeverwaltung ist die Verwendung von FTP für den neuesten Code auf dem Server. Dies ist viel einfacher, als einen FTP-Client zu verwenden oder die Datei selbst zu packen, an den Server zu senden und sie dann zu entpacken.
Datenbanknavigation
Eine nicht grundlegende, aber sehr nützliche Funktion ist die Datenbanknavigation. Mit dieser Funktion können Sie die Datenbank durchsuchen, auf die die Anwendung zugreift, Tabellen- und Feldnamen finden und Abfrageergebnisse zurückgeben. Einige Systeme können sogar automatisch Datenbankzugriffscodes schreiben.
Integrierter Webbrowser
Einige IDEs unterstützen einen integrierten Webbrowser, der es Ihnen ermöglicht, mithilfe bestimmter zusätzlicher Parameter direkt zu der bearbeiteten Seite zu navigieren. Dieser Browser kann innerhalb der IDE gehostet oder extern aufgerufen werden. Ehrlich gesagt bin ich kein großer Fan des integrierten Browsers, da es mir nichts ausmacht, zwischen zwei separaten Anwendungen zu wechseln, um Code zu bearbeiten und Ergebnisse anzuzeigen. Aber ich weiß, dass es eine Rolle spielt, aber man muss es nicht nutzen.
Fragment
Die letzte Funktion, die ich in all diesen IDEs gefunden habe, ist die Unterstützung ganzer und benutzerdefinierter Codefragmente. Ein Snippet ist ein kleiner Codeabschnitt, der eine kleine Aufgabe ausführt, z. B. das Ausführen eines regulären Ausdrucks für eine Eingabe, das Herstellen einer Verbindung zu einer Datenbank und das Abfragen der Datenbank.
Das Obige fasst die Kernfunktionen zusammen, die derzeit von gekauften oder Open-Source-IDEs erwartet werden können. Als nächstes werden einige beliebte IDEs vorgestellt, einige IDE-Bilder gezeigt und die von ihnen unterstützten Funktionen sowie ihre Kosten erläutert.
Finsternis
In der Eclipse-Entwicklungsplattform gibt es zwei Plug-Ins, die PHP unterstützen. Das erste PHP-IDE-Projekt war ein Eclipse Foundation-Projekt, das heißt, es wurde unter der Eclipse-Lizenz veröffentlicht und mit den Tools und Methoden der Eclipse Foundation entwickelt.
Das andere ist PHPEclipse, das unabhängig entwickelt wird. Da sie Eclipse verwenden, laufen beide Plug-Ins auf allen drei großen Betriebssystemen: Windows, Linux und Mac OS X. Sie können nur diese beiden Plug-Ins herunterladen (wenn Sie Eclipse bereits verwenden) oder die PRe-fab-Version herunterladen, die alles enthält, was Sie brauchen.
Beide Plug-Ins unterstützen Kernfunktionen der IDE. Insbesondere die Code-Intelligence-Funktion ist sehr leistungsstark und kann bei Bedarf alle erforderlichen Klassen-, Methoden- und Parameterinformationen anzeigen.
Abbildung 1 zeigt PHPEclipse unter Mac OS X. Auf der linken Seite befindet sich die Projektansicht der Dateien im Projekt. Unten finden Sie die Klassenansicht, in der alle definierten Klassen angezeigt werden. In der Mitte befindet sich der Code. Mehrere Dateien können gleichzeitig in mehreren Registerkarten geöffnet werden. Auf der rechten Seite befindet sich das Debugging- und Browsing-Panel. Dies ist die häufig verwendete PHPEclipse-Benutzeroberfläche.
Abbildung 1. PHPEclipse unter OS X
Abbildung 2. PHP-IDE-Projekt unter OS X
Wenn Sie den Unterschied nicht erkennen können, ist das in Ordnung. Die beiden Plug-ins sehen sehr ähnlich aus, da sie beide für das Durchsuchen von Code und die Intelligence-Funktionen auf der Eclipse-Plattform basieren. Es ist schön, Konsistenz in der GUI des Eclipse-Plug-ins zu haben.
Mir ist kein Plug-In bekannt, das Sie an ein bestimmtes Eclipse-Projekt bindet. Sie können häufig ein Plugin gegen ein anderes austauschen. In meinen begrenzten Tests bevorzuge ich das PHP-IDE-Projekt-Plugin, weil es meiner Meinung nach besser integriert ist und die Leistung der Code-Intelligence-Funktionen schneller zu sein scheint. Probieren Sie beide Plugins aus und finden Sie heraus, welches Ihnen besser gefällt.
Der Nachteil dieser beiden Plug-Ins besteht darin, dass die Benutzeroberfläche nicht auf PHP zugeschnitten ist, da Eclipse für fast alle Programmiersprachen verwendet werden kann. Daher war die Terminologie von Eclipse zunächst etwas unkonventionell. Wenn Sie neu bei Eclipse sind, sind diese Plug-ins etwas schwieriger zu erlernen als andere IDEs. Wenn Sie Eclipse jedoch bereits kennen, können Sie sich relativ schnell mit PHPEclipse- oder PHP-IDE-Projekten vertraut machen.
Was ist der größte Vorteil von Eclipse und diesen Plug-Ins? Sie sind kostenlos, stabil und zuverlässig. Oh, habe ich schon erwähnt, dass sie kostenlos sind?
Komodo
Als nächstes wird die Komodo-IDE von ActiveState vorgestellt. Diese IDE läuft unter Windows, Mac OS X und Linux und unterstützt gängige Open-Source-Sprachen – Perl, PHP und Ruby. Die Code-Intelligence-Engine ist sehr zuverlässig. Es durchsucht alle Sprachinstallationen nach benutzerdefinierten Erweiterungen, beispielsweise dem PEAR-Modul. Auf Projektseite unterstützt es die Integration mit CVS, Subversion und Perforce und ermöglicht außerdem die direkte FTP-Übertragung von Code an den Server.
Abbildung 3 zeigt Komodo unter Windows. Links befindet sich die Klassenansicht und rechts die Projektansicht. Der Hauptteil in der Mitte ist die Codeansicht. Nachfolgend finden Sie Haltepunkte, Befehlsausgaben usw. zum Debuggen. Für alle diese Systeme kann die Benutzeroberfläche nach Bedarf angepasst werden.
Abbildung 3. Komodo läuft unter Windows
Komodo ist ein kommerzielles Produkt. Während ich diesen Artikel schreibe, ist diese IDE in zwei Versionen verfügbar: Personal Edition (29,95 US-Dollar) und Professional Edition (299,95 US-Dollar). Eine seiner einzigartigen Funktionen ist der Debugger für reguläre Ausdrücke. Unabhängig davon, ob Sie mit regulären Ausdrücken noch nicht vertraut sind oder sich bereits mit erweiterten Funktionen für reguläre Ausdrücke beschäftigen, lohnt sich diese Investition auf jeden Fall.
Der Nachteil ist, dass es keine Datenbankintegration gibt (zumindest konnte ich keine finden) und ich bin auch auf das kleine Problem gestoßen, dass Code-Intelligenz nicht immer dann auftaucht, wenn ich es möchte. Insgesamt ist Komodo jedoch eine robuste, funktionsreiche und zuverlässige PHP-IDE.
PHP-Designer
Der PHP-Designer ist nicht derselbe wie andere IDEs. Natürlich unterstützt es begrenzte Code-Intelligenz. Der Schwerpunkt liegt jedoch mehr auf den Designaspekten von PHP-Webanwendungen. Dies zeigt sich im integrierten Browser, der speziell Pixellineale verwendet, um die Positionierung von Elementen auf der Seite zu erleichtern.
Abbildung 4 zeigt den laufenden PHP Designer.
Abbildung 4. PHP Designer unter Windows
Die Code-Intelligence- und Debugging-Funktionen von PHP im PHP-Designer sind nicht sehr offensichtlich, aber die Code-Intelligence-Unterstützung für HTML, CSS und JavaScript ist relativ stärker. Der PHP Designer liegt irgendwo zwischen den von Programmierern verwendeten IDEs, die sich hauptsächlich auf Code konzentrieren, und Adobe Dreamweaver, das sich mehr auf Design konzentriert. Wenn Sie nach einem solchen Zwischenprodukt suchen, ist PHP Designer eine Überlegung wert, da die IDE für den persönlichen Gebrauch kostenlos ist und die professionelle Version nur 55 US-Dollar kostet.
PhpED
Das nur für Windows verfügbare PhpED von NuSphere ist das funktionsreichste aller hier behandelten IDEs. Es verfügt über einen guten internen Debugger und fügt die Debugging-Symbolleiste in Microsoft Internet Explorer ein, um den Zugriff auf das Debuggen von Seiten zu erleichtern.
Abbildung 5 zeigt die PHP-Anwendungsentwicklung mit PHPEd in Windows. Ganz links befindet sich die Dateiansicht des Projekts. Die Ansicht direkt rechts ist die Klassenansicht und ganz rechts die Codeansicht. Nachfolgend finden Sie den Ausgabestatus. Möglicherweise ist Ihnen aufgefallen, dass alle diese IDEs demselben grundlegenden Designstil folgen.
Abbildung 5. PHPED in Windows
Zu den herausragenden Funktionen von PhpED gehören ein großartiger Debugger, hervorragender Datenbankzugriff, bessere Code-Intelligence-Funktionen und integrierte PHP-Hilfe. Die PHPED-Preise reichen von 119 US-Dollar für die Basisversion bis 495 US-Dollar für die Profiversion. Es ist auch eine Testversion verfügbar.
PHPEdit
PHPEdit von WaterProof Software fühlt sich an wie die Microsoft msdev-Umgebung für PHP – was eine schöne Sache ist. PHPEdit ist eine reine Windows-IDE, die einfach einzurichten ist. Es gibt sogar eine PHP-Version. Mit Code Intelligence für PHP, CSS und HTML leistet es hervorragende Arbeit, bietet jedoch keine Unterstützung für Code Intelligence mit JavaScript. Abbildung 6 zeigt die Ausführung von PHPEdit.
Abbildung 6. PHPEdit in Windows
Für eine einfache Bereitstellung kann PHPEdit eine Verbindung zu CVS und Subversion sowie zu FTP und seinem eigenen proprietären ezDeployment-System herstellen. Zusätzlich zu den Code-Intelligence-Funktionen verfügt die IDE zur Beschleunigung der Entwicklung über eine hervorragende Gesamtvorlagenbibliothek mit Codebeispielen, die Sie ergänzen können. Die Testversion von PHPEdit ist kostenlos und die offizielle Version kostet 89 US-Dollar.
Zend Studio
Lassen Sie uns abschließend über Zend Studio sprechen, das einfach deshalb an letzter Stelle aufgeführt wird, weil es mit Z beginnt. Es sollte wahrscheinlich das Erste sein, was Ihnen in den Sinn kommt. Warum? Weil es von Zend kommt – dem Elite-Team hinter PHP. Und es ist wirklich gut. Es läuft auf drei Hauptsystemen: Windows, Mac OS X und Linux. Und es bietet absolut alles, was Sie brauchen: PHP V4, PHP V5 und mehr. Der Download dauert zwar lange, lohnt sich aber.
Als IDE ist Zend Studio die beste. Es bietet alle gewünschten Code-Intelligence-Funktionen in integrierten Bibliotheken und benutzerdefiniertem Code. Es verfügt außerdem über sehr gute Debugging-Funktionen und ist äußerst einfach einzurichten. Um Code in ein Repository einzufügen, stellt Zend Studio eine Verbindung zu CVS und Subversion her. Um den Code auf den Server zu übertragen, steht ein integriertes FTP zur Verfügung. Zend Studio eignet sich gut für Macintosh, wie in Abbildung 7 dargestellt.
Abbildung 7. Zend Studio auf dem Mac
In einigen anderen IDEs sind Codeausschnitte integriert, um das Codieren zu vereinfachen. Die IDE lässt sich auch direkt in Datenbanken integrieren, um Tabellen und Felder verfügbar zu machen.
Die Standardversion von Zend Studio kostet 99 US-Dollar und die professionelle Version 299 US-Dollar. Einige der hier erwähnten Funktionen sind in der Standardversion nicht enthalten. Die Testversionen von Zend Studio können kostenlos verwendet werden.
Abschluss
Es gibt viele tolle IDEs – einige davon sind sogar kostenlos – und Sie können eine ausprobieren, insbesondere wenn Sie ein Profi sind. Möglicherweise müssen Sie Firmen- oder persönliche Beratergebühren zahlen oder Geld für den Kauf notwendiger Produkte ausgeben. Wenn Sie die Zeit bedenken, die zum Debuggen Ihres Codes mit Echo im Vergleich zur Verwendung des integrierten Debuggers benötigt wird, ist die IDE ihren Kaufpreis auf jeden Fall wert.
Das Obige hat die Unterschiede und Vergleiche von sieben beliebten integrierten Entwicklungstools (IDEs) für PHP vorgestellt, einschließlich einiger Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.