In den letzten paar Jahren habe ich an meinem eigenen leichten PHP-CMS gearbeitet, das ich für meine persönlichen Projekte verwende. Die eine Sache, die es fehlt, ist eine einfache Datenbanklösung.Erstellen eines Entity-Framework SQL-Tabellenstruktur
Ich bin auf der Suche nach einem einfachen Content-Typ-Datenbank-Framework, in dem ich einen neuen Typ (Benutzer, Buch, event..ect) angeben kann und dann in der Lage sein, alles in Bezug auf es automatisch zu laden.
Für einige Inhaltstypen könnte es Felder geben, die nur 1 Wert haben und einige, die Null bis viele Werte haben können, deshalb werde ich eine neue Tabelle für diese verwenden. Nehmen wir das Beispiel:
table: event
columns: id, name, description, date
table: event_people:
columns: id_event, id_user
table: event_pictures:
columns: id_event, picture
Events eine Reihe von Feldern haben wird, die einen Wert wie die Beschreibung enthalten, aber auch ein paar Bilder sein könnte und die Menschen zu bieten.
Ich möchte in der Lage sein, eine generische PHP-Klasse zu erstellen, die alle Informationen zu einem Inhaltstyp lädt. Mein aktueller Denkprozess ist Entity-Loader-Funktion, die ich ihm eine ID und Art geben kann, machen:
Entity:load($id, "event");
Daraus ich alle Tabellen mit dem Präfix „Ereignis“ bekommen würde, die gesamte Last Daten mit der übergebenen ID und speichern Sie sie dann in einem mehrdimensionalen Array. Ich habe das Gefühl, dass es dafür wahrscheinlich einen effizienteren Weg gibt. Ich möchte von einer Config-Datei, die alle Inhaltstypen und ihre Kindtabellen angibt, fern bleiben, weil ich eine neue Kindtabelle hinzufügen und sie automatisch abholen lassen möchte.
Gibt es trotzdem eine Möglichkeit, diese Beziehung direkt in der MySQL-Tabelle zu speichern? Ich mache nicht viel Datenbank-Datenbanken und ich habe gerade angefangen, Fremdschlüssel zu verwenden (was ein Lebensretter ist). Wäre es effizienter, zu sehen, welche Tabellen einen Fremdschlüssel in Bezug auf die ID-Spalte in der Ereignistabelle haben, und wenn ja, wie würde dies geschehen? Ich bin auch offen für verschiedene Möglichkeiten, diese Informationen zu speichern.
Hinweis: Ich mache das nur zum Spaß, also bitte verweisen Sie mich nicht auf vorgefertigte Frameworks. Ich möchte das selbst schaffen.
Sie scheinen nach einem db-Modell zu suchen. Wie ich es sehe, sollte PHP nicht einmal ein Tag auf diesem Ding sein. – Drew