Christopher: OOP und PHP - gut oder schlecht?

Beitrag lesen

Hallo King^Lully,

Verstehe ich nicht. Du siehst keinen Zusammenhang zwischen RDBMS
und OOP?

Nein, nicht im geringsten. Wie ich bereits erwaehnte, die
Anwendungsschicht sollte im optimalen Falle gar nichts davon
wissen, wohin die Daten letztendlich persistiert werden.

Aber gut, ein Beispiel: Du pflegst Kundendaten, Du kommst mit einem
Objekt Kunde, das auf mehreren Tabellen des RDBMS (bspw. "Kunde",
"Adresse", "Verträge" etc.) basiert.

OK, gehen wir mal auf das Beispiel ein.
Das Objekt Kunde besitzt also die weiteren Referenzobjekte Adresse und
Vertraege:

|- Objekt Kunde
  |- Referenzobjekt Adresse (1:1)
  |- Referenzobjekt Vertraege (1:n)

Das Objekt Kunde besitzt eine Save()-Methode. Moechte ich einen Kunden
persistieren, wuerde ich also kunde.Save() aufrufen. Die Methode selbst
wuerde dafuer sorgen, dass nicht nur die Daten des Kunden, sondern auch
saemtliche Referenzen (so fern dies noetig ist) des Kunden persistiert
werden (da jedes Referenzobjekt selbst auch eine Save-Methode besitzt).
Die ganze Logik wird von der Persistenzschicht geregelt und kann wunderbar
mittels eines Codegenerators (welcher anhand der Datenbank-Constraints oder
aber einer einfachen Konfigurationsdatei die Abhaengigkeiten erschließt
und die POs erstellt) generiert werden. Ob Lochkarten, XML oder Datenbank
ist somit egal.

Wirf mal ein Blick auf zB Hibernate, dann wird einem das sicherlich besser
deutlich als anhand meines mageren Beispieles.

Gruesse aus Berlin
Christopher