Webseite Variablen - Speichern in Datei oder Datenbank

koffi

Lt. Junior Grade
Registriert
Jan. 2007
Beiträge
490
Hey!

Ich bastle gerade an einer (für meine Verhälnisse als Hobby-Programmierer) relativ komplexen Webseite.
Es geht um filesharing zwischen Studenten (Vorlesungen, Powerpoints, alte Examen..) welche sich über Facebook registrieren können.

Daneben läuft natürlich auch eine Datenbank welche Informationen über Benutzer, Dateien, Downloads etc speichert.

Für diverse Überprüfungen und Datenverarbeitungen brauche ich eine Liste an Variablen, die ich eventuell in Zukunft einfach abändern können möchte. Habe mich zu beginn für eine einfache PHP Datei mit den entsprechenden Arrays entschieden. Das sieht etwa so aus:

Code:
$user_status = array(
	-1 => array(
        "caption" => "denied user",
        "can_access" => false,
        "can_download_own" => false,
        "can_download_all" => false,
    ),
    0 => array(
        "caption" => "unconfirmed user",
        "can_access" => false,
        "can_download_own" => false,
        "can_download_all" => false,
    ),
    1 => array(
        "caption" => "free user",
        "can_access" => true,
        "can_download_own" => true,
        "can_download_all" => false,
    ),
...

Code:
$languages = array(
	'en' => array(
        "caption" => "english",
        "src" => "/source/flags/gb.gif",
    ),
    'fr' => array(
        "caption" => "french",
        "src" => "/source/flags/fr.gif",
    ),
    'ro' => array(
        "caption" => "romanian",
        "src" => "/source/flags/ro.gif",
    ),
    'de' => array(
        "caption" => "german",
        "src" => "/source/flags/de.gif",
    ),   
);
...
usw.

Ich frage mich jetzt jedoch ob das eine optimale Lösung darstellt. Ist es unter umständen klüger diese Variablen ebenfalls in der Datenbank in einzelnen Tabellen zu speichern anstatt in dieser PHP Datei? Immerhin gibt es viele Überschneidungen, zB für user_status. Die Benutzer haben eine Spalte die eben diesen Repräsentiert, oder die Datensätze für geteilte Dateien haben eine Spalte für Sprache ("en", "fr", "de"...)
Oder empfiehlt sich gar XML anstelle von diesen PHP Dateien? Mit XML habe ich noch garkeine Erfahrungen gesammelt..

Wie sieht das performance-mäßig aus? Oder kann meine aktuelle Lösung eventuell in der Zukunft zu Problemen führen, an die ich jetzt noch garnicht denke? Was ist der "Standard" für solche Variablen?

Vielen Dank schonmal für das Teilen eurer Erfahrungen
 
Zuletzt bearbeitet:
Solle Sachen wie Berechtigungen gehören bei einer solchen Lösung ja schon eher mal in die Datenbank.

Wiso benutzt Du als Basis dafür nicht ein bestehende OpenSource Lösung wie etwa ownCloud? Da hättest auch gleich so Features wie Versionierungen oder Mobile App abgedeckt die auch ganz nützlich sein können.
 
nein, kein owncloud, da meine webseite sehr studenten-spezifisch ist und dementsprechende funktionen und menüs, datei-beschreibungen, belohnungs-punktesystem, zahloptionen etc bieten soll. ich bin also besser dran wenn ich alles einfach selber mache, denke ich.
 
Zurück
Oben