Hallo Leute!
Ich schreibe gerade ein größeres CMS für mehrere Projekte, an denen ich beteiligt bin. Bei soetwas fallen immer die Entscheidungen schwer, die das gesamte Programm nachhaltig beeinflussen. Im Moment stehe ich vor der Frage, ob ich das Sprachpaket, das ich verwende, um eine multilinguale Oberfläche zu schaffen, datei- oder tabellenbasierend anlegen sollte.
Dateibasierend:
Die Elemente eines Arrays ($lang) werden über mehere Dateien verteilt, die je nach Bedarf includet werden. Mittels des Array-Schlüssels werden die einzelnen Meldungen abgerufen:
echo $lang['welcome_message'];
Tabellenbasierend:
In der Datenbank wird eine Tabelle angelegt, in der alle Meldungen gemeinsam unter einem Schlüssel-Index abgelegt werden:
SELECT * FROM lang_table WHERE lang_key = 'welcome_message'
Für die erste Variante spricht, dass das Sprachpaket nicht dynamischer, sondern statischer Natur ist, was die Verwendung einer Tabelle nicht nötig machen würde.
Bei der zweiten Variante hatte ich zudem noch vor, die häufiger aufgerufenen Meldungen in einer Cache-Datei zu speichern, so dass nur für seltenere Meldungen eine eigene Abfrage generiert werden muss.
Zu was könnt ihr mir raten?
Ich schreibe gerade ein größeres CMS für mehrere Projekte, an denen ich beteiligt bin. Bei soetwas fallen immer die Entscheidungen schwer, die das gesamte Programm nachhaltig beeinflussen. Im Moment stehe ich vor der Frage, ob ich das Sprachpaket, das ich verwende, um eine multilinguale Oberfläche zu schaffen, datei- oder tabellenbasierend anlegen sollte.
Dateibasierend:
Die Elemente eines Arrays ($lang) werden über mehere Dateien verteilt, die je nach Bedarf includet werden. Mittels des Array-Schlüssels werden die einzelnen Meldungen abgerufen:
echo $lang['welcome_message'];
Tabellenbasierend:
In der Datenbank wird eine Tabelle angelegt, in der alle Meldungen gemeinsam unter einem Schlüssel-Index abgelegt werden:
SELECT * FROM lang_table WHERE lang_key = 'welcome_message'
Für die erste Variante spricht, dass das Sprachpaket nicht dynamischer, sondern statischer Natur ist, was die Verwendung einer Tabelle nicht nötig machen würde.
Bei der zweiten Variante hatte ich zudem noch vor, die häufiger aufgerufenen Meldungen in einer Cache-Datei zu speichern, so dass nur für seltenere Meldungen eine eigene Abfrage generiert werden muss.
Zu was könnt ihr mir raten?
Kommentar