Thread [YAML::PP] Include von YAML welches nicht aus Datei kommt (6 answers)
Opened by barney at 2023-11-03 18:19

rosti
 2023-11-03 19:30
#195393 #195393
User since
2011-03-19
3221 Artikel
BenutzerIn
[Homepage]
user image
Es kommt auf die Wahl einer geeigneten Datenstruktur an. So kann man Hashes (auch Hash of Hashes) ganz einfach mischen wenn es darum geht eine Konfiguration aus mehreren Datenquellen zu erstellen:

Code (perl): (dl )
my %cfg = (%default, %datei, %mysql, %web);


Wobei hier eine Überschreibung stattfindet vor rechts nach links. Da braucht man nur noch ein Backend zum Editieren der Daten in einer für den Menschen lesbaren Form und einen Prozess welcher diese Daten in die entsprechenden Speicher, sprich Datei, MySQL usw. serialisiert.

So habe ich das bei meinem FW gemacht, aufgestellt wird eine Datei (cfg.bin) die einen serialisierten Hash of Hashes beinhaltet. Erstellt wird diese Datei lokal aus verschiedenen Quellen, eine der Quellen ist eine ini-Datei. cfg.bin beeinhaltet neben der Klassenbindung URL => Class auch alle weiteren Attribute einer Seite wie Title, Description und den HTML-Body.

Das Mischen kann also entweder vor dem Deployment erfolgen, so hat die Anwendung nur noch eine Quelle zu lesen, oder die Anwendung mischt sich die Konfiguration selbst aus verschiednen Datenquellen zusammen.

Es kommt also ersteinmal darauf an die Prozesse zu definieren. MFG

PS: cfg.bin ist bei mir eine Datei die auch von PHP gelesen wird und auch mit JavaScript oder c gelesen werden kann. Lokal jedoch wird sie bei mir mit Perl erstellt, ein Linker der alle Quellen zusammenmischt.

View full thread [YAML::PP] Include von YAML welches nicht aus Datei kommt