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.
- Dynamische Websites
- Server- und clientseitig
- Voraussetzungen zum PHP lernen
- PHP-Seiten erstellen
- PHP Grundlagen
- Ausgabe mit echo
- Variablen in PHP
- Variablen und Texte verketten
- Rechnen in PHP
- Skalare Datentypen in PHP
- Konstanten in PHP
- Variablen aus Formularen
- Arrays in PHP
- Programmablauf mit Bedingung
- Vergleichsoperatoren in PHP
- Datentyp und Inhalte prüfen
- Logische Operatoren
- Switch/Case Abfrage
- Schleifen
- Funktionen
- Zeichenketten-Funktionen
- Befehl print
- Funktion printf()
- Funktion sprintf()
- Funktion trim()
- Funktion rtrim()
- Funktion ltrim()
- Funktion explode()
- Funktion implode()
- Funktion str_split()
- Funktion str_getcsv()
- Funktion substr()
- Funktion mb_substr()
- Funktion str_replace()
- Funktion str_ireplace()
- Funktion strtr()
- Funktion str_pad()
- Funktion str_repeat()
- Funktion str_shuffle()
- Funktion strrev()
- Funktion stript_tags()
- Funktion wordwrap()
- Funktion nl2br()
- Funktion strlen()
- Funktion mb_strlen()
- Funktion str_word_count()
- Funktion substr_count()
- Funktion mb_substr_count()
- Funktion count_chars()
- Funktion strcmp()
- Funktion strcasecmp()
- Funktion similar_text()
- Funktion strspn()
- Funktion strcspn()
- Funktion stripos()
- Funktion mb_stripos()
- Funktion strpos()
- Funktion mb_strpos()
- Funktion strstr()
- Funktion stristr()
- Funktion mb_stristr()
- Funktion strpbrk()
- Funktion strrchr()
- Funktion mb_strrchr()
- Funktion strrpos()
- Funktion mb_strrpos()
- Funktion chr()
- Funktion ord()
- Funktion htmlentities()
- Funktion html_entity_decode()
- Funktion htmlspecialchars()
- htmlspecialchars_decode()
- Funktion addslashes()
- Funktion stripslashes()
- Funktion strtolower()
- Funktion mb_strtolower()
- Funktion strtoupper()
- Funktion mb_strtoupper()
- Funktion ucfirst()
- Funktion ucwords()
- Funktion number_format()
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.
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.