5.5.7 Selbsttest Nr. 4 zu OOP in PHP
Diese Übung ist für diejenigen gedacht, denen der Übergang der einfachen Beispiele zur objektorientierten Programmierung nicht so leicht fällt. In einem Schritt-für-Schritt-Vorgehen wird ein einfaches Beispiel genommen und in mehreren Schritten in ein OOP-Beispiel umgewandelt. Dabei steht die nachvollziehbare Umwandlung im Vordergrund und nicht die "perfekte Programmierung".
Im Unterkapitel Beispiel Formulare - Daten speichern hatten wir schon ein nicht-OOP-Beispiel für ein einfaches Formular mit der Speicherung in einer Datei. Schauen Sie sich bei jedem Schritt an, was gemacht wurde.
Bitte speichern Sie dieses Beispiel nun ab und bringen Sie es auf Ihrem Webserver zum Laufen: 0Schritt-Original.zip
-
Schritt: Nun werden die Funktionen der Datei
index.php
in eine Klasse "Html" ausgelagert. 1Schritt-mitKlasse.zip -
Schritt: Damit beide Dateien
index.php
undoutput.php
in der Dateiindex.php
zusammengefasst werden können, muss später eine if-Verzweigung erstellt werden. Daher bekommt der Button einen Namen und dieser wird nun ebenfalls perPOST
übermittelt. 2Schritt-ButtonBenennen.zip -
Schritt: Nun wird eine if-Verzweigung eingebaut, indem der Name des Buttons abgefragt wird. 3Schritt-if-eingebaut.zip
-
Schritt: Alles was in der
output.html
steht, wird in dieindex.html
übernommen. Hierzu musste die MethodecloseFormAndFooter()
aufgeteilt werden inwriteButton()
undwriteFooter()
. Anschließend wird der Sourcecode aus output.html in index.html kopiert und angepasst. 4Schritt-MethodenAngepasstUndOutputInIndex.zip -
Schritt: Nun wird abschließend der Aufruf der SPL-Klassen zum Schreiben und Lesen der Datei eingebaut. 5Schritt-SplEingebaut.zip
Aufgaben (ohne Lösung) zum Ausprobieren
Berechnen Sie mit DateTime Ihr Alter. Verwenden Sie hierzu die Methode diff(), deren Verwendung Sie sich selbst erarbeiten müssen. Genau genommen müssen Sie nur schauen, welche Rückgabe die Methode in $diff
speichert und wie sie diese sinnvoll auf dem Browser ausgeben.
Aufgabe
Laden Sie den Sourcecode herunter: AufgabeUML.zip
a) Zeichnen Sie das UML-Klassendiagramm.
b) Überlegen Sie sich anhand des Sourcecodes, was auf dem Browser dargestellt wird