Objektdefinitionen und DB

Objektdefinitionen und DB

am 20.10.2006 12:06:08 von Karsten Wutzke

Hallo alle!

Für meinen jetzigen Arbeitgeber haben ich ein paar Funktionen
geschrieben, die relativ easy HTML mit GUI-Elementen aus den
Tabellen-Metadaten erzeugen, in etwa so:

Kommando ist 'insert'. Dann die Tabelle auswählen, in die ein
Datensatz eingefügt werden soll (z.B. per ComboBox aller Tabellennamen
der DB). Dann wird eine HTML GUI aus den Metadaten der Tabelle
generiert: Für enums und sets eine Combobox mit den möglichen Werten
(), für alle *int(n) und *char(n) Typen simple Textfelder (auch
), für text-Typ ein Textarea usw. Das Ganze wird dann angezeigt
und der User kann OK drücken und schwupps ist der Datensatz drin.

So weit so gut. Ich habe dann zusätzlich ein array für *jede* Tabelle
anlegen müssen, da ich zusätzliche Informationen über die Tabellen
brauchte, also z.B. die Spalten die bei einer Suche angezeigt werden
(auf HTML-GUI), Spalten in denen der Suchbegriff gesucht werden soll,
Spalten nach denen sortiert werden soll. Auch musste ich z.B. angeben,
welche Spalte der Primäarschlüssel ist, da die DB wirklich schlecht
designt ist...

Mir ist dann zunehmend aufgefallen, dass alles mehr und mehr in
Richtung Definition abstrakter Objekte läuft, hinter denen sich eine
bis mehrere Tabellen verbergen. Diese Objekte wollte ich nun irgendwie
per PHP modellieren und auf die DB abbilden (Idee 1: per PHP-OOP). Nach
ein bisschen research kamen dann auch noch andere Möglichkeiten ins
Spiel, z.B. XML da man damit ja Hierarchien bilden kann und Objekte
bzw. Klassen auf DB-Strukturen abbilden kann.

Bevor ich all das "from scratch" neu erfinde, frag ich lieber mal hier
nach: Ich bin 100% nicht der erste der sowas sucht, bin nur relativ neu
in PHP und kenne auch die dementsprechenden Produkte/Pakete usw. nicht.

Wie nennt sich das was ich suche?

Ich will wie gesagt irgendwie abstrakt Objekte definieren und diese auf
1-n Tabellen abbilden.

Desweiteren wäre es schön eine Art automatisch Funktion zu haben
gewisse SQL-Statements generieren zu können. HTML-Generierung ist
nicht soo wichtig, da funktionieren zur Not meine eigenen Sources, die
verarbeiten eh nur arrays usw.

Hat jemand eine Idee, welche Pakete/Produkte das leisten könnten?

Kann mir PEAR helfen? Ich bin mal über die Seite von Propel
gestolpert, bin mir aber total unsicher in der Auswahl des richtigen
Tools/der richtigen PHP-Sources/Klassen...

Wenn mir einer weiterhelfen kann, wäre ich ihm/ihr sehr dankbar!

Gruß
Karsten

Re: Objektdefinitionen und DB

am 20.10.2006 13:53:36 von daniel.gorski

[Karsten Wutzke in de.comp.lang.php.misc]

> Ich will wie gesagt irgendwie abstrakt Objekte definieren und diese auf
> 1-n Tabellen abbilden.

1:1, 1:n, m:n via recht einfachen XML, automatische Maskengenerierung,
Validierung etc.

Kein Programmieraufwand notwendig, und wenn (für spezielle Fälle, wie z.B.
besonders geformte Rechnungsnummern o.ä) dann durch definierte
OOP-Interfaces.



mfg dtg