Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 21.07.2009, 17:57
Benutzerbild von mantiz
mantiz mantiz ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.845
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Wie gesagt, ich hab' mich sehr lange schwer damit getan.

Meine Lösung sieht jetzt (vereinfacht) so aus:

Es gibt Namespaces, Tabellen, Datensätze, wie gesagt, vereinfacht, tatsächlich gibt es mehr.

Ein Namespace darf nur weitere Namespaces, oder Tabellen enthalten, eine Tabelle nur Datensätze, ein Datensatz nix.

Die Klasse Namespace fungiert als Registry für Namespaces und Tabellen, die Klasse Tabelle fungiert als Registry für Datensätze.

Zu Beginn des Scriptes wird ein virtueller globaler Namespace erstellt, also eine Instanz der Klasse Namespace, welchen es aber eigentlich nicht gibt. Dieser globale Namespace dient nur als Einstiegspunkt, um weitere Namespace oder Tabellen zu laden. Über die Tabellen-Objekte werden dann die Datensätze geladen, z.B. ungefähr so:
PHP-Code:
$globalNamespace->getNamespace('Core')->getTable('Artikel')->listRecords(...); 
Direkten Zugriff auf die DB versuche ich zu vermeiden, weil jede Klasse, die "Registry-Charakter" hat ebenfalls einen Cache implementiert, so dass nicht immer alle Datensätze geladen werden müssen, fertig bin ich damit aber auch noch nicht.
Mit Zitat antworten