Wie würdet ihr Projekt spezifische Settings handhaben?

SkyDevMent

Erfahrenes Mitglied
Guten Abend liebe Community,
ich habe mal wieder ein kleine Frage und zwar bin ich momentan da bei mir ein sinvolles System zu überlegen wie man mit Projekt spezifische Settings am besten umgehen kann. Bisher habe ich das immer so gehandhabt das die Settings aus eine Tabelle geladen werden und danach per Sessions verfügbar gemacht. Da ich mir nicht sicher bin ob es nicht bessere bzw. performantere Wege gibt dies zu lösen würde ich gerne von euch erfahren wie ihr so etwas handhaben würdet.

Vielen Dank für eure Mühen
 
Hallo SkyDevMent,

ich persönlich nutze eher ein Dateibasiertes System. Die Settings die nicht geändert werden sollen oder nur selten sind dort dann hinterlegt.

Wenn jedoch häufige Änderungen anzunehmen sind ist ein Datenbankbasiertes System schon die bessere Lösung.
 
Kommt auf die Anwendung an, kommt auf die Settings an, kommt auf das Anwendungsgebiet an ;)

Also zB die Verbindungsdaten zur Datenbank sind im Live-Betrieb auch Projekt spezifisch, trotzdem speichere ich die nicht in einer Session :D
Was ich sagen will: Schön wäre ein konkretes Beispiel, danach können wir versuchen zu abstrahieren.
 
Ok z.b. habe ich ein Formatstring der gespeichert werden soll. Es soll jeder Zeit möglich sein diesen zu verwenden bzw. anzupassen.
 
Da ich von Java her solche Sachen über Property-Files handhabe, habe ich mir vor längerer Zeit mal ein Property-Reader geschrieben um PropertyFiles leicht zu benutzen
PHP Property Reader
Nunja, ist nicht mehr auf dem nesuten Stand. Ich muss demnächst die neuste Version ins Wiki stellen. Mit der neuen Version kann man auch JSON-Strings parsen
 
Vielen Dank Yaslaw, das heißt du würdest das File jedes mal wenn man etwas braucht das File laden und danach wieder verwerfen?
 
Nicht ganz. Ich stelle am Anfang vom Script eine Instanz her und brauche diese dann. Die wird natürlich auch über die Session weitergereicht.
 
Ähnlich wie Yaslaw mache ich es in PHP,

ich habe eine Funktion geschrieben die meine Optionen einfach in einem Array ablegt.
Die Optionen sind in einer MySQL Datenbank hinterlegt. Allerdings werden nur die Optionen in einem Array abgelegt die auch abgefragt werden. Optionen die für eine Seite nicht benötigt werden, werden nicht geladen.

Gibt es eine Option die nicht im Array existiert, wird diese Option aus der Datenbank gelesen.
Zusätzlich habe ich noch ein Schalter eingebaut, die die Funktion mitteilt ob er die Option aus dem Options Array holen soll, oder neu aus der Datenbank laden soll.

Zusätzlich noch eine Funktion geschrieben mir der man die Optionen updaten kann.
 
Nicht ganz. Ich stelle am Anfang vom Script eine Instanz her und brauche diese dann. Die wird natürlich auch über die Session weitergereicht.

Das ist aber eigentlich keine gute Praxis, ganze Objekte in der Session weiterzureichen. Außerdem weiß ich nicht, wie es aussieht, wenn man das ganze serialisiert: Werden abhängige Objekte mit gepspeichert? Ich würde eher (skalare)Werte per Session weiterreichen, aus denen ich das Objekt dann wieder instanziieren kann.
Aber ich habe auch immernoch nicht so genau verstanden, worum es hier geht? Was ist ein "Formatstring"? Sessions benutze ich typischerweise für Authentifizierungssysteme und um kurze rückmeldungen auf der jeweils nächsten Seite anzuzeigen, zB ob die letzte Aktion erfolgreich oder nicht war.
 
Ein Formatstring ist ein String der eine Codierung für Daten datstellt.
Ein einfaches Beispiel
Code:
Formatstring = 3x1
Ausgangsstring = Physik
Resultat = Phy
Ich nutzt solche Strings um Strings nach einem vom User forgegbenen Muster zu bearbeiten. Allerdings sollte der Formatstring nur ein Besipiel sein, des weitern gibt es Settings die in anderen Bereichen verwendet werden.
Ein weitere Beispiel wäre z.B. die maximale Anzahl der Arbeitsstunden pro Tag oder oder oder....
Es gibt viele Dinge die ich speichern muss.
 
Zurück