dedlfix: Klassen für DB-Zugriffe

Beitrag lesen

echo $begrüßung;

Doch was mache ich z.B., wenn ich bei MySql das Datum im Statement formatiert hätte oder noch irgendeinen Join. Das ist ja nur schwer in sinnvolle Parameter etc zu packen, da fehlt mir die Idee.

Es ist aus Sicht der Geschäftslogik unerheblich, ob das DBMS Joins kann oder machen muss, um an die gewünschten Daten zu kommen. Du definierst nur, wie die Schnittstellen auszusehen haben. Die Funktionen, die dir letzlich die Daten liefern sollen, können, während du die Geschäftslogik implementierst, zunächst statische Daten liefern. Wenn die Geschäftslogik fertig ist, und du weißt, welche Daten sie in welcher Form benötigt, kannst du die Datenfunktionen so umschreiben, dass sie nun echte Daten liefern, das jedoch in der gleichen Art und Weise wie die provisorischen statischen Funktionen.

Für
SELECT * FROM table1 WHERE id = 1
hätte ich z.B. an sowas gedacht $datenbank->get('*', 'table1', 'id = 1');
Das könnte ich dann intern nach Bedarf zusammenbauen.

Du hängst - zu sehen an der Verwendung des Variablennamens $datenbank - immer noch an einer bestimmten Art und Weise der Datenhaltung. Auch wie die Tabellen und Feldnamen heißen ist aus Anwendungssicht nebensächlich bis irrelevant. Wenn du Personendaten brauchst, frage nicht nach Daten aus der Tabelle Person verknüpt mit Tabelle Sowieso. Frage vielmehr nur nach der Person mit den Merkmalen X, Y und Z. Deine Datenhaltungsschicht muss daraufhin selbständig wissen, wo sie die gewünschten Informationen herzuholen hat und was sie dazu braucht.

echo "$verabschiedung $name";