Konzept ORM im Framework

Pius Hermit

Erfahrenes Mitglied
Liebe Mitprogrammierer,

ich versuche gerade in mein Framework(eigenes) ein ORM (Abbildung Objekte/Klassen -> DBMS) zu integrieren.
Hat jemand von Euch vielleicht Erfahrungen, oder kennt Links,

wo ich am besten die SQL-Befehle abfeuere?

Vielleicht in aktion="..." die php-Befehle aus den Klassen abfeuern?
Wie machen das die "Richtig Guten"?

Dankbar für jede Hilfe, Ulrich
 
Irgendwie versteh ich deine Frage nicht. Und da seit einem Tag nich keine Antwort kahm, denk ich mal das es den Anderen auch so geht.

Was willst du konkret wissen?
 
Es ging um die Zusammenarbeit zwischen Formularen, Klassen und MySQL-Befehlen. Das Problem war die Struktur der php-dateien, um an einer sinnvollen Stelle möglichst automatisiert zu insert"en" und up"zu"dat"en". Das Problem habe ich nun gelöst, da ich jetzt Ajax verwende. Ein weiteres Problem, was sich stellt (ORM) ist die möglichst automatische Generierung von Klassen.

Beispiel:
Ich lege im ORM eine Tabelle an. Dafür habe ich die Klasse SQLQuery geschrieben.
Dort gibt es Befehle wie setTable(...), addColumn(...), createTable(...), query(), etc.
Parallel will ich nun in einer Art "Meta"-Klasse eine Klasse anlegen, die ebenfalls die Strukturen in der "Table" abbildet.
Also eine Art Database-Class-Layer....

Habt Ihr Erfahrungen mit soetwas?

Vielen Dank für jede Hilfe,
Ulrich
 
MAch eine Klasse der folgenden Art:
PHP:
<?php 
mysql_connect('localhost', 'root', '');
mysql_select_db('test');


class Table extends ArrayObject{
    //irgendwelche eigene funktionen
}

$table = new Table();
$result = mysql_query("SELECT * FROM buch;");
while ($entity = mysql_fetch_object($result)){
    $table->append($entity);
}

var_dump($table->count());

foreach($table as $entity){
    var_dump($entity->isbn);
}


?>

Und schon hast du eine Tabellen-Objekt mit Etity-Objekten...
 
Oh ja, vielen Dank!
Ich glaube, ich muß mich morgen Abend erst einmal genauer in die php-OOP einlesen: Vielleicht werde ich auch abstrakte Klassen/Methoden verwenden...
:)
 
Zurück