Hi, ich würde gerne ein paar Meinungen, Anregungen und Vorschläge für eine neue Extension sammeln.
Es geht um einen neuen Datenbank-Wrapper der komfortabler sein soll, als alle bisher existenten und zugleich hohe Kompatibilität zu bestehenden Ansätzen bietet.
Es gibt also zwei Themen zu klären:
1. Funktionalität:
Ich habe ein paar neuartige Ansätze (glaube ich zumindest), die ich gleich einmal vorstellen möchte. Hierzu interessiert mich besonders eure Meinung. Natürlich sind auch eigene Vorschläge zur Funtkionalität willkommen.
2. Kompatibilität:
Gibt es ein bestimmtes Entwurfsmuster (also eine bestehende Klasse als Vorlage oder ein Interface) das implementiert werden sollte? Welche Eigenschaften und Methoden sind unerlässlich um Kompatibilität zu gewährleisten? Es geht mir vor allem um die Namen der Eigenschaften und Methoden.
So hier mein versprochener (hoffentlich) neuartiger Ansatz:
Gehe aus von einer DB-Tabelle:
tx_myext_items: uid, tstamp, crdate, cruser_id, name, description, user_id
Man beachte, dass sich cruser_id üblicherweise auf einen BE-User bezieht und user_id sich in diesem Fall auf einen FE-User beziehen soll (also in Relation zur Tabelle fe_users steht.
Mein Gedanke war, wenn ich jetzt einen Datensatz aus dieser Extension-Tabelle abfrage interessieren mich womöglich weitere Informationen über den FE-User, wie dessen 'username'. Statt in einer zweiten Abfrage fe_users abzufragen, soll das durch den Wrapper automatisch erledigt werden, so dass eine Abfrage an die Tabelle z.B. so einen Datensatz zurückliefert:
/* Reale Felder */
uid: 1,
tstamp: 1206433663,
crdate: 1206433663,
cruser_id: 4,
name: TestItem,
description: Lorem ipsum,
user_id = 2,
/* Virtuelle Felder */
user_uid = 2,
user_username = Mustermann,
user_usergroup = 3,8,9,
user_email = max@example.com
Einen solchen Wrapper (mit noch weiterer ähnlicher) Funktionalität habe ich bereits geschrieben und er lässt sich schnell an verschiedene Datenbankstrukturen anpassen. Er benutzt aber leider keine mit anderen Wrappern kompatiblen Methoden. Der Wrapper findet sich im TER unter dem Namen 'dbhandler', falls sich das jemand näher ansehen möchte.
So, ich bin gespannt auf eure Meinungen.
So long,
Sebastian