hi,
Ich bin aber nicht sicher, ob eine Festlegung auf EAV die ideale Lösung ist.
Das habe ich nie behauptet. Aber der EAV eignet sich, da die Daten in 3 Feldern vorliegen, auch für hierarchisch aufgebaute Datenstrukturen die bliebig tief verschachtelt sein können.
Wenn Du einen universellen Serialisierer als Alternative zu JSON anbieten willst, müsstest Du Dir dafür etwas einfallen lassen.
Ein Serializer muß überhaupt nicht universell sein im Sinne beliebig tief geschachtelter Datenstrukturen. Man kann jedoch beliebig tief geschachtelte Datenstrukturen mit entsprechenden Algorithmen so linearisieren daß zum Serialisieren ein ganz normales Array übrigbleibt.
Aber auch in dieser Hinsicht halte ich es wie Wirth, so einfach wie möglich, so kompliziert wie notwendig. So ist die erste Frage immer die wie eine Datenstruktur im Hauptspeicher liegt und nicht die Frage, wie diese Struktur eingefroren in einer Datei aussieht. Vielmehr wird die Datenstruktur von der Anwendung bestimmt, denn die Anwendung muss damit arbeiten, sprich den wahlfreien Zugriff auf die Daten haben.
Wirth schrieb einst sinngmäß: Eine Rekursion ist keine Schande. Man kann sich jedoch überlegen, eine für die Anwendung bestimmte Datenstruktur so zu entwerfen, daß sie nicht rekursiv durchlaufen werden muss um den wahlfreien Zugriff zu erhalten. Darüber sollten viele heutige XML-Designer mal ernsthaft nachdenken.
Und schließlich ist der Begriff EAV auch erst, seit Alan Storm Magento an die Börse brachte, zu einem Hype geworden. Unter uns Perlern hieß das schon immer HoH (Hash of Hashes).
MfG 😉