Nach oben

PHP-Software-Entwicklung

PHP war ursprünglich die Abkürzung von Personal Homepage Tools. Heute wird die Ausschreibung Hypertext Preprocessor bevorzugt, denn mit "Personal Homepage Tools" kann man die Programmiersprache tatsächlich kaum umschreiben. Das trifft aber im Grunde auch für Hypertext Preprocessor zu. PHP ist eine leistungsfähige Programmiersprache, die ständig weiterentwickelt wird.

Geboren im Netz

PHP war nicht die erste Wahl im Internet, denn große Player wie Microsoft hatten anderes vor. Microsoft setzte auf ASP (Active Serverpages). Die Firma SUN Microsystems ging mit JSP (JavaScript Serverpages) einen eigenen Weg. In den Anfangsjahren war es schwer, den Favoriten auszumachen. Die Entscheidung trafen die Webhoster, denn Webspace mit PHP war besser und billiger. So gewann PHP das Rennen. Über 80% der Websites laufen mit PHP.

PHP liefert HTML

Was wir im Browser als Website geliefert bekommen besteht aus HTML und Inhalt. HTML (Hypertext Markup Language) legt die Struktur der Seite fest. Also den "Briefkopf", die Navigation, die Formatierung des Inhalts und die Fußzeile. Das Ganze erfolgt mit Tags. <h1>Breaking News</h1> So sieht eine Überschrift in HTML aus. Das h steht für Headline.

Nun liegen die wenigsten Seiten auf dem Webserver genauso, wie sie im Browser ankommen. Besser gesagt kaum eine. Denn Inhalte werden in der Regel in einer Datenbank gespeichert. Und da kommt PHP ins Spiel. PHP speichert die Inhalte in der Datenbank, holt sie wieder heraus und baut eine HTML-Seite daraus. Bliebe es dabei, wäre die Umschreibung "Hypertext Preprocessor" für PHP durchaus angemessen.

PHP ist eine Programmiersprache

PHP kann mehr. PHP verarbeitet Daten, ist also im ursprünglichen Sinne eine EDV, eine elektronische Datenverarbeitung. Der Funktionsumfang von PHP ist gigantisch und wächst ständig weiter. PHP ist die Wahl für Mathematiker, PHP analysiert, PHP hat umfangreiche Textfunktionen, PHP verarbeitet Bilder, PHP erzeugt und liest PDF-Dateien, PHP kann XML, PHP importiert und exportiert Daten in jedem beliebigen Format. Und PHP wächst.

PHP ist schnell

PHP ist von Haus aus sehr schnell. Läuft es auf einem leistungsfähigen Server, dann sind die Verarbeitungszeiten kaum merkbar. Der letzte große Sprung erfolgte von Version 5.6 auf 7.0 (wo war die sechs?). Uns Programmierern hat dieser Sprung eine Menge Schweißtropfen auf die Stirn getrieben, denn die Entwickler opferten der Geschwindigkeit ein paar liebgewonnene Funktionen. Aber um schnell zu sein musste PHP schlanker werden. Also hieß es ein paar Wochen lang anpassen, anpassen, anpassen. Das Gute dabei: Auf Webservern stehen mehrere PHP-Versionen zur Verfügung, also wird in einer lokalen Entwicklungsumgebung getestet und erst dann veröffentlicht und PHP auf dem Webserver umgestellt. So sehen es zumindest die guten Vorsätze in der Szene vor. Ach ja, wo war die PHP-Version 6? Die Version 6 war bereits in Entwicklung, allerdings drängte sich die Forderung nach kürzeren Ausführungszeiten in den Mittelpunkt, das wäre mit Version 6 nicht gegangen. Mit Version 7 wurde PHP praktisch neu erfunden. Viel schneller, viel weniger Speicherbedarf, viele neue Funktionen.

Dynamische Webseiten

Die meisten Webseiten sind dynamisch. Sie verändern sich also. Wenn eine Webseite Börsenkurse anzeigt, dann müsste sie praktisch ständig umgeschrieben werden und wäre doch immer zu spät. Wenn die Börsenkurse aus einer Datenbank kommen, können sie zeitaktuell ausgegeben werden. Ein klein bisschen gemütlicher geht es bei Wetterseiten zu, aber auch hier werden die Daten dynamisch dargestellt.

So entstehen dynamische Seiten

Die Aktion geht vom User aus, der in die Adresszeile eine URL eintippt: https://php-soft.de/start.html
Um es gleich in aller Deutlichkeit zu sagen: Diese Seite existiert nicht. Es gibt die domain php-soft.de und dass sie mit https aufgerufen wird, ruft die Verschlüsselung auf den Plan. Aber die "start.html" wird man auf dem Server vergebens suchen. Man nennt das sprechende Links. Auf dem Webserver sitzt eine kleine Datei, die heißt .htaccess, sie ist so was wie eine Empfangsdame, deren Macht sollte man ebenfalls nicht unterschätzen. Kommt also die Nachfrage nach der start.html an, weiß sie, welche Seite eigentlich zuständig ist und leitet die Anfrage dorthin um. Bei sehr vielen Projekten ist eine einzige Seite dafür zuständig. Die heißt index.php und weiß nun, dass die start.html verlangt wurde. Also baut sie diese zusammen und liefert sie an den Browser.

Seitenaktualisierung

Der nächste Sprung kommt mit der laufenden Seitenaktualisierung. Irgendwer oder Irgendwas muss die anstoßen. Ist es Irgendwer, dann hat der User eine Aktion auf der Seite gemacht, geklickt, gescrollt, die Maus bewegt, eine Taste gedrückt. Jede dieser Aktionen löst ein sogenanntes Event aus und dieses Event kann clientseitig verarbeitet werden. Das erfolgt mit JavaScript, eine Programmiersprache, die im Browser läuft. Jeder Browser kann JavaScript. So könnte man z.B. einen Taschenrechner programmieren, der mit JavaScript Eingaben verarbeitet und das Ergebnis ausgibt. Wie ist das aber, wenn neue Daten vom Server angefordert werden? So zum Beispiel neueste Daten von der Börse, die im Mikrosekundenbereich aktualisiert werden. Hier kommt eine Technik zum Einsatz, die JavaScript ermöglicht, direkt mit dem Webserver zu sprechen. Eine davon ist AJAX (Asynchronous JavaScript and XML). JavaScript schickt einen sogenannten Request an den Server und erhält ein Response zurück. Damit sind dem munteren Hin und Her zwischen Server und Client praktisch kaum Grenzen gesetzt. Seiten können ohne Neuladen aktualisiert werden.

Damit sind wir bei "Irgendwas", denn es muss keine manuelle Aktion des Besuchers sein. Aktionen können auch in Schleifen, zeitgesteuert oder inhaltgesteuert gestartet werden. So kann der Börsenkurs im Sekundentakt aktualisiert werden, bei Erreichen eines bestimmten Kurses eine Kauf- oder Verkaufaktion gestartet werden, alles vollautomatisch. Klingt schon fast nach autonomen Systemen. Stimmt, aber der Mensch gibt immer noch die Grenzen vor.

 

PHP im lokalen Einsatz

Warum PHP-Anwendungen im lokalen Netz bislang wenig verbreitet sind, liegt in erster Linie an der Cross-Origin-Policy, die verhindert, dass eine Internetseite auf lokale Inhalte des Clients zugreifen kann. Mit einem lokalen Webserver kann man dieses Problem jedoch sehr elegant lösen und alle Ressourcen des lokalen Netzwerks zur Verfügung stellen. In der Regel kommt dabei ein sogenanntes WAMPP-System zum Einsatz. Praktisch ein unter Windows lauffähiges Paket, das einen Apache-Webserver und eine MySQL-Datenbank beinhaltet. WAMPP steht für Windows - Apache - MySQL - Pearl - PHP. Meistens wird es als XAMPP bezeichnet, wobei das X für Linux steht. Da man das X auch als X-platform, also plattformunabhängig interpretieren kann, wird diese Schreibweise mittlerweile auch für Windows-Installationen verwendet.

Für den Einsatz im lokalen (Windows) Netzwerk gibt es einige recht praktische Zusatzausstattungen im XAMPP. So kann das aktuelle Windows-Login abgefragt werden, wodurch der User identifiziert wird und kein separates Login erforderlich ist. Ein anderes Modul gestattet den Durchgriff auf das Dateisystem. Das ist zwar durch Freigabe der Active-X-Steuerelemente auch ohne Webserver möglich, hat aber den Nachteil, dass die Active-X-Aktivierung immer aktiv ist, also auch im Internet und das ist ein potentielles Risiko, denn über Active-X kann die Website auf das lokale Betriebssystem zugreifen. Bei einem lokalen Webserver besteht das Problem nicht.

Der Hauptvorteil, lokale Software mit PHP zu entwickelt ist jedoch ein ganz anderer und sehr komfortabler. Auf den Clients ist keinerlei Softwareinstallation erforderlich. Ein Browser genügt. Also keine Lizenzen, keine Installationen, keine Updates. Es genügt der Zugang zum XAMPP und der erfolgt entweder über den Servernamen oder die IP. Selbst eine Integration im Startordner ist kein Thema.

XAMPP mit Apache, MySQL und PHP, damit sind der Entwicklung lokaler Anwendungen keine erkennbaren Grenzen gesetzt. Es braucht keine Cloud, ja nicht mal ein Internetzugang ist nötig. Ein weiterer Vorteil ist die Wartung. Bei Optimierungen und Erweiterungen müssen lediglich einzelne Dateien ausgetauscht werden. Keine Update-Installation, kein Neustart. Update im laufenden Betrieb ist nicht nur möglich, sondern üblich.

Da dem Client wenig Leistung abverlangt wird, spart der Einsatz lokaler Web-Lösungen auch Hardwarekosten.

Die Verbindung beider Welten

Warum nicht nach den Sternen greifen? PHP beinhaltet auch FTP-Funktionen, damit können also Dateien mit Internet-Servern ausgetauscht werden. Beispielsweise Downloads aller möglicher Dateiformate. Über cURL können Datenbanken im Internet abgefragt werden und zwar ohne irgendwelche Sicherheitslücken zu öffnen. Hier kommt auch REST API ins Spiel, eine Schnittstelle für die Kommunikation dezentraler Systeme. Wenn zum Beispiel der Webshop seine Bestellungen an das lokale ERP übermitteln soll oder die Warenbestände im Webshop aktualisiert werden.

Wie geht es weiter

Die großen Entwicklungen im IT-Bereich liegen auch künftig im Internet, folglich werden auch die Möglichkeiten webbasierter Software schnell weiterwachsen. Was kommt wird sich zeigen. Ein großer Sprung ist sicher in der Sprachsteuerung zu erwarten. Simultanübersetzung ist ein Thema und die Verwendung von Videos in Online-Dokumenten. Das sind Meilensteine, die erst durch die heutigen Massenspeicher und die damit einhergehende Geschwindigkeit der Internetverbindungen möglich wurden.

Es bleibt spannend.