Die Aufgabe
6) PHP DB-Klasse (12 Punkte)
Im Folgenden finden sie eine rudimentäre PHP-Modell-Klasse basierend auf mysqli. Diese Klasse soll die Verwaltung von Bewertungen ermöglichen. Zum Speichern der Daten wird die folgende Tabelle genutzt:
CREATE TABLE Bewertung ( gid INTEGER NOT NULL, -- Gericht punkte INTEGER NOT NULL, -- Bewertung txt VARCHAR(50) -- Kommentar)a) Die zu erstellende Klasse soll in MVC-Anwendungen sinnvoll eingesetzt werden können. Ergänzen Sie den Rahmencode auf der nächsten Seite sinnvoll. Wichtige fehlende Stellen sind mit XXX markiert. (Der Rahmencode steht rechts.)
b) Nutzen Sie Ihre in Teil a) erstellte Klasse nun. Betrachten Sie dazu die Klasse auf der Folgeseite – und ergänzen Sie dann den hier angegebenen Programmcode (ohne Fehlerbehandlung). Es soll zunächst eine Bewertung angelegt werden. Anschließend werden die Bewertungen zu Gerichten mit mehr als 4 Punkten gesucht:
$db = new mysqli( 'localhost', 'myUser', 'myPw', 'myDB' ); # XXX Anlegen einer neuen Bewertung# mit 3 Punkten und Kommentar "naja" für Gericht mit gid=42 # XXX Lesen der Bewertungen mit mindestens 4 und max. 5 Punkten$ergebnis = Gegeben ist eine Tabelle Bewertung mit drei Spalten: die Nummer des Gerichts (gid), die Punkte und ein Kommentar (txt). Gesucht ist eine PHP-Klasse, die diese Tabelle für den Rest der Anwendung verwaltet.
mysqli ist die PHP-Schnittstelle zu einer MySQL-Datenbank. Das Objekt $db ist die offene Verbindung; jede Methode bekommt sie als Parameter.
In (a) füllt man die mit XXX markierten Lücken. In (b) schreibt man zwei Stellen Code, die die Klasse benutzen. Für die ganze Aufgabe gibt es 12 Punkte.
- Aufbau der Klasse: ein Attribut je Spalte.
- findBetweenPunkte: SQL, Parameter binden, Ergebnis lesen.
- Der Konstruktor als „weitere erforderliche Methode“.
- insert: SQL, vorbereiten und binden, Statement schließen.
- Teil (b): ein Objekt anlegen, speichern, Bewertungen suchen.