In diesem Kapitel möchte ich einige Grundlagen und Einrichten der Arbeitsumgebung besprechen.
PHP ist eine Programmiersprache, welche hauptsächlich für das Internet entwickelt wurde. Um zu verstehen, wie man diese Programmiersprache einsetzen kann, muss man sich das Client-Server-Modell deutlich machen.

Als Client wird hier der PC bezeichnet, der bei Ihnen steht und mit welchem Sie im Internet surfen. Wenn Sie sich weiter mit dem Client/Server-Modell beschäftigen, so kann es auch sein, dass der Client ein etwas anderer Rechner ist. Aber für unseren einfachen Fall, soll es ausreichen, dass der Client der PC ist, auf dem Sie surfen.
Der Server ist hingegen ein Rechner, auf welchem die Internetseiten hinterlegt sind. Internetseiten kommen nicht einfach so, sondern sie werden von einem Server auf Anfrage zur Verfügung gestellt.
Stellt nun ein Benutzer eine Anfrage nach einer bestimmten Webseite in seinem Browser, so wird mit Hilfe des Betriebssystemes seines Computers über die Internetverbindung, die in diesem Schaubild durch die beiden schwarzen Pfeile angedeutet ist, eine Anforderung an den Server gestellt. Auf diesem Server nimmt der Webserver die Anforderung wiederrum über das Betriebssystem entgegen. Bei normalen statischen Seiten liest der Webserver nun einfach eine oder mehrere Dateien von seiner Festplatte und schickt sie über die Internetverbindung zurück. Bei dynamischen Seiten, wie es zum Beispiel bei PHP der Fall ist, konsultiert der Webserver eine PHP-Engine. Diese läßt ein Programm ablaufen, welches eine HTML-Seite oder etwas anderes generiert, an den Webserver zurückreicht. Der Webserver verschickt dann diese Seite. Es ist offensichtlich, dass dies dynamisch geschieht, denn das Programm generiert jedesmal die Seite neu.
Die Webseiten können mit Hilfe von PHP mit dem Benutzer interagieren. Das einfachste Beispiel eines PHP-Programmes ist z.B. ein Zähler, der auf der Webseite eingebaut, die Besucher dieser Seite zählt. Dazu muss der aktuelle Stand des Zählers auf dem Server abgespeichert werden. Aber auch sehr komplexe Internetseiten sind möglich, wie zum Beispiel ein Webmailsystem. Hier stellt der Webserver mit Hilfe seiner PHP-Engine Emails da, die er selbst irgendwann bekommen hat und ermöglicht es dem Benutzer Emails zu versenden. PHP ist eine sehr mächtige Sprache, so dass solche Webmaildienste ohne Probleme, vorrausgesetzt man bringt die nötige Zeit mit oder hat genügend Programmierer, programmiert werden können.
Die meiste Zeit seines Existierens wird Ihr PHP-Skript wohl im Internet verbringen, wenn es einmal fertig geworden ist. Es ist möglich, PHP-Skripts direkt auf dem entsprechenden Server im Internet zu entwickeln. Jedoch bringt dies gegenüber einer lokalen Installation eines Webservers verschiedene Nachteile mit sich. Die gravierendsten wären wohl:
- Bevor ein PHP-Programm ausgeführt werden kann, muss das Programm zunächst zum Server übertragen werden. Das bedeutet meistens, dass man seinen FTP-Client bemühen muss, was ein paar Klicks mehr benötigt. So senkt sich die Geschwindigkeit des gesamten Entwickelns.
- Auf dem Webserver laufen viele Programme gleichzeitig. Ungetestete Skripte können auf ungewollte Weise mit anderen Skripten kollidieren. Zwar ist PHP ziemlich sicher, aber auch nicht hundert Prozent. Im Extremfall riskiert man Ärger mit dem Betreiber des Internetservers.
- Unter Umständen entwickeln an einem Programm mehrere Personen. Dies können sich dann ins Gehege kommen.
- Vielleicht ist ein Server mit PHP auch gar nicht verfügbar, da man erst einmal probieren möchte.
Für eine lokale Installation zum Probieren brauchen Sie einen Webserver und PHP. Häufig wünscht man sich jedoch auch noch eine MySQL-Datenbank dazu. Was eine MySQL-Datenbank ist und was man damit machen kann, dazu kommen wir noch später. Als Webserver nimmt man meistens Apache, PHP ist bei www.php.net herunterladbar und MySQL unter www.mysql.de. Leider ist es so, dass diese Programme sich nicht allzueinfach zusammen installieren lassen. Der Apache-Webserver muss konfiguriert werden. Das PHP-Paket kann sogar hineinkompiliert werden. Dann muss auch PHP mit dem MySQL-Server verbunden werden etc. . Alles ist kein einfaches Unterfangen, weshalb der Anfänger kläglich versagen wird.
Aber man hat sich etwas ausgedacht. Es gibt Gesamtlösungen, die man einfach installieren kann und die dann laufen. So ist es nun dem Anfänger möglich ein Programm herunterzuladen, es zu installieren und dann loszulegen. Also alles ganz einfach. Eine dieser Gesamtlösungen möchte ich hier gerne vorstellen. Sie heißt XAMPP und kommt von Apachefriends. Man lade sich hier die aktuelle Version für das jeweilige Betriebssystem (z.B. Windows) herunter und installiere sie. Dabei sollte man darauf achten, dass der Pfad, den man wählt möglichst einfach ist. Unter Windows ist der vorgegebene Pfad im Wurzelverzeichnis auf der Festplatte C: zu empfehlen. Das ist so, weil man später diesen Pfad immer wieder entlangklicken muss, wenn man zum Beispiel Dateien in einem Editor öffnen möchte.
Nach der Installation und dem Starten des Webservers über das Startmenü (z.B. xampp basic start) sieht dann die Seite, die im Hauptverzeichnis des lokalen Webservers unter localhost dann verfügbar ist, z.B. so aus:

Man surfe einmal im Webinterface, um sich ein Bild davon zu machen, was alles installiert wurde.
PHP-Programme sind, wie von HTML-Seiten gewöhnt, reine ASCII-Dateien. Erst, wenn die Seite angefordert wird, werden diese Programme geparst und ausgeführt. Auf dem Server liegen somit auch reine ASCII-Dateien. Aber keine Angst: Der Endbenutzer bekommt den PHP-Code nicht zu sehen. Es wird nur die HTML-Seite übertragen, welche vom PHP-Code erzeugt wird.
Wenn man nun PHP-Programme erstellen möchte, benötigt man dazu einen Editor. Hierzu würde theoretisch der Windows-eigene Editor Notepad ausreichen. Allerdings ist dieser sehr spartanisch ausgestattet, so dass viel Übersichtlichkeit und Komfort verloren geht. Dieser Texteditor einmal als Screenshot:

Wünschenswerte Anforderungen an einen Editor wären z.B. folgende:
- Syntax Highlighting: Mit Hilfe von Farben wird der PHP-Kode übersichtlicher gestaltet.
- Code collapsing: Code kann Ein und Ausgeblendet werden.
Weitere Anforderungen an eine Entwicklungsumgebung wären z.B. folgende:
- Automatische Vervollständigung: Der Editor kennt die PHP-Kommandos und macht Vorschläge für deren Ergänzung.
- HTML und PHP Fehlercheck
- Referenzen zu HTML und PHP gleich eingebaut
Kommerzielle Editoren bieten häufig noch ein WYSIWYG an. Dabei wird der HTML-Code gleich zur Vorschau gerendert. Hier sind die beiden Flagschiffe Dreamweaver und Golive. Leider haben diese auch entsprechende Preise. Bei einigen Webpaketen gab es in der letzten Zeit Vorgängerversionen mitgeliefert. Ansonsten würde ich solche Software, da auch mehr der Augenmerk auf HTML gerichtet wird, für den Anfänger nicht empfehlen.
Aber es gibt auch einige sehr gute kostenlose Editoren. Unter Ihnen sind zum Beispiel Notepad++. Dieser Editor ist ein Open-Source-Editor für Windows. Er unterstützt Syntax-Highlighting, Code-Colapsing und vieles vieles mehr. Mit ihm lassen sich nicht nur HTML oder PHP-Dateien edtieren, sondern eine ganze Anzahl von Text-Dateien. Mitgeliefert werden mannigfaltige Code-highlighting Einstellungen. Schauen einfach einmal auf deren Webseite nach.
Ein Screenshot des Editors folgt:

Für den professionellen Einsatz von PHP lohnt sich eine Entwicklungsumgebung für PHP. Entwicklungsumgebungen haben gegenüber einem simplen Editor den Vorteil, dass sie das Projekt in sich zusammen verwalten und entsprechende Möglichkeiten zum Publizieren des Projektes oder zum Navigieren zwischen den einzelnen PHP-Files hin und her anbieten. Auch bieten solche Entwicklungsumgebungen häufig Code-Completion oder ein Pre-Compiling, welches Fehler im Quellcode anzeigt, noch bevor der Quellcode überhaupt ausgeführt worden ist.
Es gibt eine Reihe an kommerziellen Entwicklungsumgebungen. Eine Open-Source Entwicklungsumgebung ist jedoch PHPEclipse, welche auf Eclipse, einer Java-Entwicklungsumgebung aufbaut. Diese Entwicklungsumgebung möchte ich hier auch empfehlen.

