PHP-Programmierung

PHP ist die Abkürzung für "Hypertext Preprocessor" und stellt eine sinnvolle Erweiterung für den Webserver dar. Es wurde in den 90er Jahren des 20. Jarhunderts von Rasmus Lerdorf entwickelt und die Abkürzung von PHP stand zunächst für "Personal Homepage". Da die Programmiersprache immer mehr für die Erstellung von komplexen Internetanwendungen genutzt wurden, erfolgte irgendwann der Namenswechsel zu "Hypertext Preprocessor".

In der Anfangszeit konnten lediglich einige kleine Applikationen programmiert werden. Das änderte sich, nachdem die Möglichkeit gegeben wurde, mit PHP Daten aus HTML-Formularen auszuwerten. Die Entwicklung wurde von vielen freiwilligen Programmierern vorangetrieben und und PHP wurde ständig weiterentwickelt, sodass die Sprache immer professioneller und eine ernsthafte Alternative wuchs, um auch kommerzielle Projekte im Internet umzusetzen.

Mittlerweile gehöhrt PHP zu den meist verbreiteten Sprachen im Internet. PHP ist eine serverseitige Programmiersprache und ist darauf ausgelegt, dynamische Websites zu entwickeln. Was das bedeutet, wird auf den Seiten dynamische Websites mit PHP programmieren und serverseitige und clientseitige Programmiersprachen ausführlicher erläutert. Es ist für die angehenden Programmierer wichtig, diese beiden Grundlagen zu kennen. Kurz gefasst kann man sagen, dass man eine Website dann als dynamisch betrachtet, wenn es bei jedem Abruf neu generiert wird und sich somit ändern kann. Als serverseitig bezeichnet man die Programmiersprachen, wenn der Programmiercode auf dem Server ausgeführt wird. Das Gegenstück dazu sind clientseitige Programmiersprachen (z.B. JavaScript), bei denen der Programmiercode auf den Clientrechnern ausgeführt wird.

Vorhandene Seiten in diesem PHP-Tutorial

Unterhalb dieses PHP-Tutorials sind die folgenden Seiten vorhanden.

Technische Voraussetzungen

Wenn man statische Websites mit HTML entwickelt, dann benötigt man als Minimalvoraussetzung einen Texteditor für den HTML-Code. Bei der Entwicklung von PHP-Seiten benötigt man zusätzlich einen Webserver mit einem PHP-Interpreter. Ein Datenbank-Server (z.B. MySQL) ist zunächst nur optional, die wenigsten dynamischen Websites sind jedoch ohne eine Datenbank erstellt worden, sodass man einen Datenbank-Server ebenfalls zu den technischen Voraussetzungen zählen kann.

Server im Internet laufen häufig auf einem Linux-Betriebssystem mit einem Apache-Webserver und einem MySQL-Datenbank-Server. Zusammen mit PHP nennt man solche Systeme auch LAMP-Systeme. Man könnte für die Entwicklungsphase ein LAMP-System bei einem Webhoster mieten. Allerdings ist das zu Beginn nicht empfehlenswert, da die PHP-Anwendungen in der Lernphase nicht unbedingt sicher sind und das ist auch nicht nötig. Zum Lernen reicht eine virtuelle Maschine als Testumgebung völlig aus. Wie man als Testumgebung eine virtuelle Maschine mit einem LAMP-System in VirtualBox einrichtet, wird Schritt für Schritt unter Ubuntu-Server in VirtualBox einrichten erläutert.

Hat man die Testumgebung erfolgreich eingerichtet und mit einem einfachen Beispielprogramm getestet, kann man mit dem Punkt PHP-Seiten erstellen fortfahren. Der Grund, warum man einen Webserver mit einem PHP-Interpreter benötigt, liegt in der Art und Weise der Verarbeitung des Programmiercodes. Wenn ein Client eine PHP-Seite abruft, dann wird eine Anfrage an den Webserver gestellt, der für die Auslieferung der Webseite zuständig ist. Da jedoch vor der Auslieferung der Webseite zunächst der Programmiercode ausgeführt werden muss, schickt der Webserver die Datei an den PHP-Interpreter. Dieser führt den PHP-Code aus und optional werden dabei lesend und/oder schreibend Datenbankverbindungen hergestellt. Ist der Programmiercode zu Ende ausgeführt, schickt der PHP-Interpreter das Ergebnis an den Webserver, sodass die Datei an den Client geschickt werden kann. Nachfolgend sind die Vorgänge sowie die Rolle des PHP-Interpreters schematisch abgebildet.

PHP-Interpreter

Die Server im Internet werden häufig über die Konsole bedient. Die Befehle müssen dabei per Hand eingegeben werden und die Konfiguration geschieht oftmals über Textdateien. Für Windows-Benutzer erfordert diese Arbeitsweise eine gewisse Umstellung. Es ist zwar möglich, einen Server auch über eine grafische Benutzeroberfläche zu bedienen. Allerdings ist das aus Performance- und Sicherheitsgründen nicht empfehlenswert und man sollte von Beginn an die Arbeit mit der Konsole bevorzugen.