Hallo,
wie kann ich ein objekt (php5) in eine relationale db schreiben. muss man, wie ich vermute, für alle eigenschaften ein sql-statement schreiben?
In Java gibt es auch die Möglichkeit, das Objekt zu serialisieren (quasi die reinen Objektdaten in einen Datenstrom umzuwandeln) und diesen dann in die Datenbank zu speichern (als Binary Large Object o.ä.) - müsste auch in PHP gehen. Ist allerdings in vielen Fällen nur mäßig sinnvoll.
Das Problem, dass Du beschreibst (dass relationale Systeme und Objekorientierung nicht wirklich zusammenpassen) ist ein Klassiker in der Informatik und nicht komplett lösbar.
Begegnet wird dem Problem meist durch eine zusätzliche Schicht zwischen Datenbank und Software, die die Abbildung Objekt -> Datenbank vornimmt, ohne dass sich der Programmierer darum kümmern muss (vgl. Objektrelationales Mapping, kurz ORM). Hier gibt es auch Systeme für PHP.
gibt es dann überhaupt gewichtige vorteile einer objektorientierten lösung?
- Wartbarkeit
- Wiederverwendbarkeit
- Erweiterbarkeit / Skalierbarkeit
- ...
Allerdings würd ich nicht so weit gehen zu sagen, dass Software IMMER objektorientiert sein muss, um gut zu sein.
Viele Grüße,
Jörg