1. Einführung in PHP 7
Das PDF dieses Dokuments ist |HIER| verfügbar.
Die Beispiele in diesem Dokument sind |HIER| verfügbar.
Dieses Dokument ist Teil einer vierteiligen Artikelserie:
- [Einführung in PHP 7 anhand von Beispielen]. Dies ist das aktuelle Dokument;
- [Einführung in ECMASCRIPT 6 anhand von Beispielen];
- [Einführung in das VUE.JS-Framework anhand von Beispielen];
- [Einführung in das NUXT.JS-Framework];
Dies sind alles Dokumente für Anfänger. Die Artikel folgen einer logischen Reihenfolge, sind jedoch lose miteinander verbunden:
- Dokument [1] stellt die Sprache PHP 7 vor. Leser, die sich nur für PHP und nicht für das in den folgenden Artikeln behandelte JavaScript interessieren, sollten hier aufhören;
- Die Dokumente [2–4] zielen darauf ab, einen JavaScript-Client für den in Dokument [1] entwickelten Steuerberechnungsserver zu erstellen;
- Die JavaScript-Frameworks [Vue.js] und [Nuxt.js] in den Artikeln 3 und 4 erfordern Kenntnisse der neuesten Versionen von ECMAScript, insbesondere der Version 6. Dokument [2] richtet sich daher an diejenigen, die mit dieser Version von JavaScript nicht vertraut sind. Es bezieht sich auf den in Dokument [1] erstellten Steuerberechnungsserver. Leser von [2] müssen daher gelegentlich auf Dokument [1] zurückgreifen;
- Sobald ECMASCRIPT 6 beherrscht wird, können wir zum VUE.JS-Framework übergehen, das die Erstellung von JavaScript-Clients ermöglicht, die in einem Browser im SPA-Modus (Single Page Application) laufen. Dies ist das Dokument [3]. Es bezieht sich sowohl auf den in Dokument [1] erstellten Steuerberechnungsserver als auch auf den in [2] erstellten eigenständigen JavaScript-Client-Code. Leser von [3] müssen daher gelegentlich auf die Dokumente [1] und [2] zurückgreifen;
- Sobald Sie VUE.JS beherrschen, können Sie zum NUXT.JS-Framework übergehen, mit dem Sie JavaScript-Clients erstellen können, die in einem Browser im SSR-Modus (Server Side Rendered) laufen. Es bezieht sich auf den in Dokument [1] erstellten Steuerberechnungsserver, den in [2] erstellten eigenständigen JavaScript-Client-Code und die in Dokument [3] entwickelte [vue.js]-Anwendung. Leser von [4] müssen daher gelegentlich auf die Dokumente [1], [2] und [3] zurückgreifen;
Dieses Dokument enthält eine Liste von PHP-7-Konsolenskripten aus verschiedenen Bereichen (Sprachstrukturen, Dateizugriff, Datenbankzugriff und Internetzugriff). Webprogrammierung wird anhand von Webdiensten behandelt. In diesem Dokument bezeichnen wir jede Webanwendung, die reinen Text erzeugt, als Webdienst. Dabei handelt es sich um Datenserver, nicht um Webseiten-Server, die eine Mischung aus HTML, CSS und JavaScript darstellen. Wir behandeln klassische Webkonzepte (HTTP-Protokoll, JSON- oder XML-Antworten, Sitzungsverwaltung, Authentifizierung), die auch in der traditionellen Webprogrammierung verwendet werden.
Heutzutage ist es üblich, Webanwendungen im Client/Server-Modus zu erstellen:

- In [1] zeigt der Webbrowser Webseiten an, die für einen Benutzer bestimmt sind [5, 7]. Diese Seiten enthalten JavaScript, das einen Client für einen Daten-Webdienst [2] sowie einen Client für einen Webseiten-Fragment-Server [3] implementiert. Ein etabliertes JS-Framework in diesem Bereich ist Googles Angular 2 (Mai 2019);
- In [2] ist der Webserver ein Datenserver. Er kann in jeder beliebigen Sprache geschrieben sein. Er generiert keine Webseiten im herkömmlichen Sinne (HTML, CSS, JavaScript), außer vielleicht beim ersten Mal. Diese erste Seite kann jedoch von einem herkömmlichen Webserver [3] (keinem Datenserver) bezogen werden. Das JavaScript auf der Startseite generiert dann die verschiedenen Webseiten der Anwendung, indem es die anzuzeigenden Daten [4] vom Webserver abruft, der als Datenserver fungiert [2]. Es kann auch Webseitenfragmente [5] vom Webseiten-Server [3] abrufen, um diese Daten zu formatieren;
- in [4] löst der Benutzer eine Aktion aus;
- in [6,7]: Er erhält Daten, die durch ein Webseitenfragment formatiert wurden;
In diesem Dokument werden wir Client/Server-Anwendungen in PHP 7 mit der folgenden Struktur schreiben:

Hier haben wir eine in PHP geschriebene Client-Server-Anwendung. Ein Konsolenskript [9] fragt einen Datenserver [4] ab. Das hier gewonnene Wissen zum Schreiben des Datendienstes kann in einer Webanwendung wiederverwendet werden. Der PHP-Datendienst kann beibehalten werden, und der PHP-Client wird durch einen JavaScript-Client ersetzt.
Als zentrales Thema dieses Dokuments werden wir einen Steuerberechnungsdienst in 13 Versionen erstellen. Version 13 wird die folgende Architektur aufweisen:

Die [Web-]Schicht des Servers wird eine MVC-Architektur (Model–View–Controller) aufweisen. Der gesamte PHP-7-Kurs zielt darauf ab, diese Version zu erstellen.
Die Skripte in diesem Dokument sind kommentiert, und ihre Konsolenausgabe wird wiedergegeben. Wo nötig, werden zusätzliche Erläuterungen gegeben. Dieses Dokument erfordert aktives Lesen: Um ein Skript zu verstehen, müssen Sie dessen Code, Kommentare und Ausführungsergebnisse lesen.
Die Beispiele in diesem Dokument sind |hier| verfügbar.
Das PDF des Dokuments finden Sie |hier|.
Serge Tahé, Juli 2019