OO Problem - Benutzergruppen

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

  • OO Problem - Benutzergruppen

    Also ich bastle zur Zeit an einer UserManagement-Klasse. Bis jetzt ist es so, dass nur Username Passwort sowie das zugehörige serialisierte User Objekt in der DB gespeichert wird.

    Ich möchte die Klasse aber gerne erweitern und zwar soll ein Benutzer einer Gruppe zugeordnet werden können. Ich hab mir jetzt überlegt, dass ich meine DB um die Tabelle group erweitere. Eigenschaften: id, groupname sowie ein serialisiertes Settings Objekt. Die Userklasse erweitere ich um die Methode set_groupid und get_groupid sowie get_settings und set_settings. Eine neue Klasse für die Settings wird erstellt.

    get_settings soll man optional eine id übergeben können. Wenn die ID übergeben wird, soll statt dem user_settings Objekt die Settings aus der DB zur passenden group id genommen werden.

    Ist eine solche Lösung eher schlecht als recht oder kann man es anderst lösen?

    MfG Markus

    PS: aktuelle Klasse

  • #2
    irgendwie hast du das ganze so erzählt dass ich mich nicht auskenne ..
    aber wenn du schon serialisiertes in deinen tabellen speicherst ..
    warum dann auch nicht ein serialisiertes array groups ? wo alle gruppen_ids drinstehn wo der user zugehörig ist ..

    deine settingsklasse sehe ich als var der userklasse ..

    -----

    was mir bei deinem vorgeschlagenen durch den strich geht dass du ne eigene tabelle für die gruppen machen willst, und doch serialisiertes zeugs in die db packst ..
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      Also ich hab mich jetzt mal ran gemacht und gebastelt.

      Ich habs jetzt die Klasse UserManagement mit der ich das gesamte Management verwalte um die Funktionen
      set_new_group($name=null,$settings=null) // erstellt eine neue Gruppe
      set_group($id,$name=null,$settings=null) // setzt Eigenschaften für eine schon erstellte Gruppe
      get_groups() // Gibt alle Gruppen zurück.
      drop_group($id) // Entfernt die Gruppe
      aufgestockt.

      Der Klasse User hab ich jetzt folgende Funktionen und ObjektVariablen hinzugefügt.
      var $settings;
      var $group_id;

      set_settings($settings=null) // setzt die Eigenschaften für den user
      get_settings($db=null) // wofür extra eine Id übergeben, hab einfach die Objektvariable genommen. Zurück kommt entweder die eigenen User Eigenschaften oder die Gruppen Eigenschaften. Wenn keine Daten vorhanden sind, weil z.B. die Gruppe gelöscht wurde, wird die group_id auf null gesetzt.
      set_group_id($id=null) // Fügt den User einer Gruppe hinzu
      get_group_id() // Gibt die Gruppen Id zurück.


      Eine Klasse Settings hab ich erstellt und provisorisch mal mit der Eigenschaft template ausgestattet.

      Ich denk, so ist es relativ gut gelöst.

      MfG Markus

      Das ganze sieht jetzt so aus: Link
      Zuletzt geändert von markusschmitt; 06.03.2004, 14:34.

      Kommentar

      Lädt...
      X