Wie Einstellungen speichern?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wie Einstellungen speichern?

    Ich bin auf der suche nach einer _eleganten_ Lösung für das oben genannte Problem.

    Mein CMS ist modular aufgebaut, oder soll es werden.
    Die Einstellungen sollen in der mysql-db gespeichert werden. Soweit kein Problem. Es gibt nur einen Haken:
    Einstellungen wie z.B.: "E-Mail des Administrators", einfach ein String, der wird so gespeichert und ausgelesen.
    Was ist aber wenn man z.B. eine Einstellung hat: "Art der Benutzeranmeldung" mit 2-3 möglichen Einstellungen, "Mit email aktivierung", "ohne mail aktivierung"!

    Das würde dann in der administrationsoberfläche durch ein SELECT feld eingestellt werden. Nur muss man neben den möglichen Einstellungen auch die aktuelle speichern.

    Würde gerne hören ob ihr ne schöne Lösung für das problem habt.

    LG Chris

  • #2
    Re: Wie Einstellungen speichern?

    Mir scheint, du möchtest dich mit den MySQL-Spaltentypen ENUM und SET bekannt machen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Mir scheint, du möchtest meinen Beitrag nochmal genau lesen.

      Also die Tabelle soll so aufgebaut werden:
      ID - MODULE_ID - BESCHREIBUNG - ZUGRIFF - VALUE

      die ersten drei erklären sich von selbst, Zugriff ist ein "zugriffscode" wie zB "anzahl_comments_pro_seite", VALUE wäre in dem Fall ein Integer Wert.

      Wie oben schon beschrieben gibt es aber auch auswahl felder die von datensatz zu datensatz komplett unterschiedlich sind, deswegen würde ENUM oder SET wohl wenig nützen.

      Mir ist gestern Nacht noch eingefallen das man den Wert mit einem serialisierten objekt füllen könnte, mit dem wäre eine verwaltung von auswahlmöglichkeiten und aktuellem wert simpel möglich.

      Wäre das elegant oder hat das Nachteile?

      Kommentar


      • #4
        Wenn es nur um globale Einstellungen geht, mach sowas wie eine ini-Datei. Beim Ändern eines Wertes, bzw. Setzen der Einstellungen speicherst du das File als PHP-Datei ab, welches ein Array an Einstellungen initialisierst. Ist just btw. auch schneller als ein DB-Connect, wenn du dann nur das File requiren/includen brauchst, wenn du die Einstellungen laden willst.

        Und von der Möglichkeit mit dem Serialisieren: PFUI
        Ich habe es auch mal gemacht und beiße mir jedes mal wieder selbst in den Arsch, wenn ich an den Einstellungen was ändern will >__<
        Unflexibel bis zum Tode...

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Ich will das ungerne filebasierend machen.

          Sehe nicht das problem, wo ist das unflexibel?

          Kommentar


          • #6
            Original geschrieben von stf]Daywalker
            Ich will das ungerne filebasierend machen.

            Sehe nicht das problem, wo ist das unflexibel?
            Man schreibe sich eine neue Einstellung und hat die dann nicht in jedem Datensatz, d.h. du hast nach zwei drei Änderungen an den Einstellungen eine rie~sige Inkonsistenz in deinen Datensätzen, die sich früher oder später negativ auf die Lesbarkeit des Sources auswirkt, bzw. diesen unnötig aufbläht um if's, etc. und mir geht das ziemlich auf den Keks und hätte ich Zeit, würde ich es auf eine filebasierte Implementierung umschreiben.

            Und wieso willst du es nicht filebasiert machen? Die DB zu entlasten ist immer von Vorteil...

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar

            Lädt...
            X