dedlfix: MVC - getter setter

Beitrag lesen

Tach!

ich beschäftige mich gerade etwas mit dem MVC-Pattern. Jede Datenbanktabelle zum Beispiel entspricht  einem Objekt/Klasse, sehe ich das richtig?

Das hat mit dem MVC-Pattern nichts zu tun. Dir geht es eher um einen ORM oder etwas anderes zum Datenbank-Abstrahieren.

Und nun kommt es auf die Philosophie des ORM/whatever an, ob eine Tabelle gleich einer Klasse entspricht oder vielleicht nur die Struktur auf eine Klasse abgebildet wird. Eine ganze Tabelle (oder eine Teilmenge daraus), also Inhalt in strukturierter Form, wird wohl eher ein Array von Objekten sein.

Es kann aber auch sein, dass nicht die Tabellen 1:1 abgebildet sind, sondern aus den Ergebnisse von Abfragen - die ja durchaus weniger oder mehr Spalten als eine Tabelle enthalten können - ein Array mit ebendiesen Ergebnismengen-Objekten erstellt wird.

Dieses Ojbekt hat also getter und setter-methoden.

Kann man machen, muss man aber nicht. Besonders wenn außer dem reinen Lesen und Schreiben nichts weiter gemacht wird, ist das nur unnötiger Overhead beim Funktionsaufrufen.

Dumme Frage: via getName() erhalte ich den aktuellen Wert der Variablen name. Was ist aber, wenn ich den aktuelle Wert von name haben möchte, der schon in der DB-Tabelle steht? Müsste man dafür dann eine Methode  getNameFromDB() oder sowas anlegen?

Du musst ein Objekt dieser Klasse erstellen. Das sollte mit dem gewünschten Inhalt aus der Datenbank gefüllt sein. Und dazu braucht es eine Abfrage mit Einschränkung auf einen bestimmten Datensatz (oder mehrere, wie auch immer die konkrete Aufgabenstellung ist).

Oder gibt es da elegantere Wege?

Für welche Aufgabenstellung? Ein ORM kann helfen, kann aber auch unnötiger Ballast sein. Möglich ist auch, dass du deine Abfragen selbst und gezielt auf deine Anforderung hin schreibst - mit den notwendigen Platzhaltern - und dir nur die Ergebnisse in ebenfalls genau passende Objekte fetchst.

dedlfix.