PHP lernen - Benötigte Kenntnisse und Voraussetzungen

Viele angehende PHP-Programmierer haben irgendwann den Entschluss gefasst, PHP zu lernen. Oft entsteht zu Beginn eine kleine Unsicherheit, da man nicht so recht weiß, wie man eigentlich beginnen kann. Diese Seite soll eine kleine Hilfe sein, damit die ersten Hürden überwunden werden und die ersten Programme geschrieben werden. Zunächst sollten folgende Kenntnisse vorhanden sein, damit man weiß, wofür PHP eingesetzt wird und wie die Ausführung des Programmcodes funktioniert.

PHP-Anwendungen müssen nicht immer dazu führen, dass man eine Website erstellt. Man könnte beispielsweise eine Anwendung schreiben, mit der lediglich Bilder bearbeitet werden. Trotzdem sollten HTML-Kenntnisse vorhanden sein, da PHP vor allem als eine Programmiersprache für dynamische Websites entwickelt wurde und hierfür werden HTML-Kenntnisse benötigt. Auf einen kurzen Nenner gebracht, funktionieren dynamische Websites so, dass der Inhalt einer Website sich theoretisch bei jedem Aufruf ändern kann. Die serverseitige Ausführung des Programmcodes bedeutet, dass der Benutzer die fertige Website mit dem HTML-Code geliefert bekommt, nicht jedoch den Programmcode. Der wird nämlich auf dem Server durch den PHP-Parser (-Interpreter) ausgeführt und danach erfolgt die Auslieferung des Ergebnisses der Programmausführung an den Benutzer.

Damit man PHP lernen kann, benötigt man daher einen Webserver mit einem PHP-Interpreter. Dann kann man den Programmiercode schreiben, über den Webserver aufrufen und das Ergebnis des Programmiercodes begutachten. Einen Webserver mit einem PHP-Interpreter kann man entweder bei einem Webhoster mieten oder auf dem lokalen Rechner einrichten. Zum Lernen reicht eine Testumgebung auf dem lokalen Rechner völlig aus und das ist auch die empfehlenswerte Variante, da insbesondere in der Lernphase der PHP-Programmiercode Sicherheitslücken enthalten kann. Falls jedermann die PHP-Seite über das Internet aufrufen kann, würde das ein großes Sicherheitsrisiko darstellen. Außerdem spart man sich die monatlichen Gebühren in der Lernphase, falls man auf die Anmietung von Speicherplatz bei einem Webhoster verzichtet und zunächst nur mit der Testumgebung auf dem lokalen Rechner übt.

Da HTML- oder PHP-Seiten zwischen dem lokalen Rechner und dem Webserver hin und her transferiert werden, sollten außerdem Kenntnisse über die Einrichtung eines FTP-Zugangs vorhanden sein. Wie das funktioniert wie man beispielhaft anhand des Programms WinSCP einen FTP-Zugang einrichtet, wird auf der folgenden Seite erläutert.

Zum Schreiben des Programmiercodes wird außerdem ein Texteditor benötigt. Die Installation eines separaten Editors ist zwar nicht notwendig, da die FTP-Programme in der Regel einen integrierten Editor besitzen, sodass man die PHP-Seiten direkt über das FTP-Programm aufrufen, bearbeiten und speichern kann. Trotzdem können Editoren aufgrund vielerlei Hilfestellungen für den Programmierer nützlich sein. Beispielsweise bieten Texteditoren eine farbliche Kennzeichnung bestimmter Bereiche des Programmcodes und Fehler sind dadurch leichter zu finden.

Sind diese Voraussetzungen vorhanden, kann man PHP-Seiten erstellen und aufrufen bzw. testen. Aus einer kleinen Anwendung kann Stück für Stück eine große Anwendung entwickelt werden. Viele angehende Programmierer nehmen jedoch den umgekehrten Weg und stoßen auf PHP, wenn sie eine konkrete Aufgabe zu bewältigen haben. Beispielsweise gibt es im Internet viele freie PHP-Scripte, die heruntergeladen werden und in den meisten Fällen an die eigenen Bedürfnisse angepasst werden müssen.

Das ist aus zwei Gründen problematisch. Einerseits hat sich PHP über die Jahre hinweg weiterentwickelt. Zwischen der PHP-Version 3 und der Version 5 gibt es beispielsweise erhebliche Unterschiede. Viele Programmiercodes gelten als fehlerhaft und veraltet und bergen im schlimmsten Fall sogar ein Sicherheitsrisiko. Man muss daher immer genau prüfen, welche freien (oder kostenpflichtigen) Scripte man verwendet. Man sollte immer auf das Datum der letzten Aktualisierung schauen und sich erkundigen, ob ein Script aufgrund von Sicherheitsmängeln aufgefallen ist.

Auf der anderen Seite kann die Verwendung von fremden Scripten in der Lernphase problematisch sein. Wenn man eine komplette Anwendung (z.B. einen Online-Shop) herunterlädt, einrichtet und daran Anpassungen vornehmen und deshalb PHP lernen möchte, dann sind viele angehende Programmierer aufgrund der vielen Seiten einer Anwendung verunsichert. Eine Anwendung besteht nämlich nicht nur aus einer Datei, sondern aus einer Vielzahl von Dateien. Ein Online-Shop kann beispielsweise aus 1000 und mehr Dateien bestehen. In solchen Fällen trauen sich viele nicht, auch nur eine einzige neue Datei in einem Ordner einzufügen, weil die Befürchtung da ist, man könnte die gesamte Anwendung "lahmlegen".

Solche Befürchtungen sind in der Regel unbegründet. Solange man bestehende Dateien oder eine evtl. vorhandene Datenbank der Anwendung nicht löscht, umbenennt oder verändert und wenn die Programmiercodes in den neu hinzugefügten Dateien die bestehenden Dateien und Datenbanken nicht berühren, kann man mit diesen die Anwendung eigentlich nicht zerstören.

Außerdem sollte man sich von Anfang an angewöhnen, von bereits laufenden Systemen und den zu verändernden Dateien Sicherungen anzulegen. Auf der folgenden Abbildung ist beispielsweise die Originaldatei von index.php umbenannt worden, um dann eine neue Datei mit dem Namen index.php einzufügen. Funktioniert die neue Datei nicht wie gewünscht, kann man jederzeit den Code aus der Originaldatei wieder verwenden.

Sichern und PHP lernen

Bei der Umbenennung von Dateien in eine Dateiendung mit .bak ist jedoch Vorsicht geboten. Es gibt viele automatisierte Bots, die das Internet automatisch nach Dateien mit der Endung .bak durchsuchen, um sie in irgendeiner Weise missbräuchlich zu verwenden. Bei einer solchen Umbenennung sollte man daher immer zusätzlich weitere Zeichen in den Dateinamen einfügen, z.B. eine Zahlenkombination aus Datum und Uhrzeit. Außerdem sollte man umbenannte Sicherungsdateien nicht allzu lange auf dem Server belassen und nach Möglichkeit schnell auf einem lokalen Datenträger sichern und vom Server löschen, sodass sie vom Internet aus nicht zu erreichen sind.

Wenn man dabei ist, PHP zu lernen, dann ist das im Grunde immer mit Sicherungen des bestehenden Zustands verbunden und man sollte davon auch reichlich Gebrauch machen. Außerdem sollte man zunächst gute Programmiererfahrungen sammeln, bevor man eine fertige Anwendung verwendet und an die eigenen Bedürfnisse anpasst.