paul: objekt in db

Hallo Leute,

wie kann ich ein objekt (php5) in eine relationale db schreiben. muss man, wie ich vermute, für alle eigenschaften ein sql-statement schreiben?
gibt es dann überhaupt gewichtige vorteile einer objektorientierten lösung?

Paul

  1. Hi!

    wie kann ich ein objekt (php5) in eine relationale db schreiben. muss man, wie ich vermute, für alle eigenschaften ein sql-statement schreiben?

    Eine Möglichkeit besteht darin, dass Objekt zu serialisieren und dann in die Datenbank zu schreiben.

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. dank dir für die schnelle antwort.
      werd mir das mal genauer anschaun.

      paul

      1. Hi!

        dank dir für die schnelle antwort.
        werd mir das mal genauer anschaun.

        Ein Tipp: beim Lesen aus der DB und anschließendem Deserialisieren muß die Klasse bekannt sein.

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. 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