Programmiersprache PHP

PHP ist ein moderne Programmiersprache, die besonders zur Erzeugung von dynamischen Webseiten sehr populär ist: Dynamische Webseiten können ihr Aussehen und ihren Inhalt je nach Anforderung ändern.

PHP-Programme werden am Webserver-PC ausgeführt. Die Programme erzeugen meistens HTML-Quelltext, welcher vom Server an den Browser gesendet wird.

Die meisten Web-Programm-Pakete (CMS, Wiki, Groupware, ...) verwenden PHP zur Live-Herstellung von Webseiten.

Entwicklungs-Umgebung


PHP wird typisch als Webserver-Hilfsprogramm (CGI-Programm) verwendet.
Der Zugang zu einem Webserver ist daher Voraussetzung für die PHP Programmierung.
Hier werden dazu 4 verschiedene Modelle vorgestellt:

Server eines Web-Providers

Für erste einfache Experimente genügt ein entfernte Server.
An eigenen Resourcen genügt ein einfacher Text-Editor oder ein Web-Editor sowie ein FTP-Client-Programm (z.B. FileZilla) zum Upload der erzeugten HTML- und PHP-Quelltext-Dateien.

In jedem Produktions-Web sind die PHP Fehler-Meldungen abgeschaltet. Es ist daher mühsam und langwierig, unvermeidliche Programm-Fehler zu finden und auszubessern.
Diese Entwicklungs-Umgebung eignet sich daher weder für die IT-Ausbildung noch für ernsthafte Entwicklung.

Virtuelle Server-PC

Virtuelle Computer bieten eine ausgezeichnete Grundlage für ein (PHP) Entwicklungs-System:
Das kostenfreie Programm VirtualBox gibt es für alle gängigen Betriebssysteme. Auf einem damit hergestellten Virtuellen PC installiert man die Software möglichst genauso wie am Produktions-Server des Web-Providers. Alle typischen Komponenten (Linux-Betriebssystem, Webserver, Programmiersprache(n), Datenbank) gibt es kostenfrei und legal.

In der Ausbildung kann man den StudentInnen fertig konfigurierte Virtuelle Standard-Server zur Verfügung stellen. Solche Appliance-Dateien werden auch im Internet (allerdings in unterschiedlicher Qualität) angeboten.
Bei guter Konfiguration arbeitet der Virtuelle Server wie ein zusätzlicher Server-PC im eigenen lokalen Netzwerk.

Wer mehrere Webs betreut, legt einfach für jedes Web einen eigenen Virtuellen Entwicklungs-Server an.
Ein Virtueller PC ist lediglich eine (große) Datei und lässt sich daher (auf USB-Speicher) transportieren. Ein beschädigter Virtueller Server wird einfach gelöscht und durch eine neue Kopie ersetzt.
Details zur → Virtualisierung

Reale Hardware-PC oder µC

Ein Entwicklungs-Server braucht nur wenige Resourcen. Man kann dazu einen ausgemusterten Alt-PC verwenden. Die Kosten beschränken sich dann auf den Stromverbrauch.

Noch besser geeignet sind moderne Einplatinen-µC, z.B. Raspberry:  Sie sind spottbillig, winzig, brauchen sehr wenig Strom und sind portabel.

In beiden Fällen muss man (Linux)-Betriebssystem und die kostenfreie Server-Software selbst installieren. Im Betrieb brauchen diese Server weder Bildschirm noch Tastatur, da sie typisch mit → Fernsteuerung bedient werden.

Die Leistung eines typischen Alt-PC oder µC reicht vollkommen aus, um damit (gleichzeitig) komplette Entwicklungs-Webs für 10...30 Personen zu betreiben.

In der Ausbildung ist ein µC-Server besonders gut verwendbar: Man kann ihn überall hin transportieren, er integriert sich nach dem Einschalten sofort in das jeweilige lokale Netzwerk und ist in ca. 1 Minute arbeitsbereit. Ein zentraler µC-Server ist wesentlich robuster als private Virtuelle Server-PC für alle StudentInnen, weil diese nur die gleichen Rechte erhalten wie die KundInnen eines Web-Providers.

LAMP, WAMP, XAMPP

Man kann alle Server-Komponenten an einem Arbeits-PC installieren. Die typische Software gibt es kostenfrei für alle gängigen Betriebssysteme: ( Apache)-Webserver, ( MariaDB oder MySQL)-Datenbank-Server, die Programmiersprache PHP, evtl. auch Java und Perl.

Wer selbst einen Linux-Server betreibt, hat darauf bereits die gesamte LAMP-Software installiert: Linux, Apache, MySQL, PHP. Man kann den Server in diesem Fall auch zur Entwicklung verwenden. Das Entwicklungs-Web sollte jedoch von allen laufend genutzten Arbeits-Komponenten streng getrennt sein.

Auf einem Windows-PC kann man die gleiche Software in WAMP-(Windows)-Version verwenden. Installation und Konfiguration wird jedoch nicht so wie auf Linux unterstützt und ist daher für AnfängerInnen schwierig. Außerdem kann sich die Software in einigen Details anders verhalten als auf einem Original Linux Server.

XAMPP ist ein Projekt, mit dem sich ein speziell angepasstes WAMP-System auf jedem Windows-PC installieren lässt. Die Installation ist einfach, das System arbeitet jedoch in einigen Aspekten anders als ein typischer Webserver. Wenig geübte EntwicklerInnen können die damit gewonnenen Erfahrungen daher nicht leicht auf einen professionellen Server übertragen.

PHP-Links


PHP-Home: Dokumentation (ende), Funktionen (ende), Kontroll-Strukturen (ende)
Tipp: In den en/de-Versionen sind oft unterschiedliche Beispiele enthalten.

Wikipedia: PHP
WikiBook: Web-Entwicklung mit PHP (Tutorial)
WikiMedia: Funktions-Diagramm von PHP (Alternativ → aus diesem Web)
W3Schools: PHP (Referenz, Tutorial, Beispiele)

Tipp: Alle PHP-Beispiele dieses Webs sind mit Quelltext dokumentiert.