Ankündigung

Einklappen
Keine Ankündigung bisher.

"neuenFreundHinzufügen" in Konstruktor oder extra Methode?

Einklappen

Neue Werbung 2019

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

  • #16
    Wenn man wirklich seine Freund-Klasse und eine User-Klasse haben will, dann wäre es am Sinnvollsten, dass der Freund ein Proxy oder eine Delegator ist, der noch ein User-Objekt beinhaltet und alles was mit dem User zu tun hat weiterleitet und dann noch zusätzliche Informationen wie "befreundet seit" oder "freundschaft bestätigt" anbietet.

    Da ja schon klar zu sein scheint, dass es auch um die Speicherung in eine relationale DB geht, sollte man meiner Meinung nach an einen ORM-ähnlichen Ansatz denken, auch wenn du vielleicht für den Lernfaktor nicht direkt ein fertiges ORM einfach nur konfigurieren willst.

    Dann hättest du nämlich so etwas:

    class User
    public function __construct($name)
    public function getFriends()
    public function addFriend($user)
    public function isFriendOf($user)

    class Friendship
    static public function getFriendsOf($user1)
    public function __construct($user1, $user2)
    public function isConfirmed()
    public function confirm()
    public function getUser1()
    public function getUser2()


    in der Datenbank dann eine Tabelle:

    users
    id | name | email ....

    friendships
    id | user1_id | user2_id | confirmed

    und eine solche Beziehung:

    User <1-*> Frienship <1-*> User

    Kommentar


    • #17
      okey das ist mir jetzt schon klarer geworden ... das mit dem "default-Wert" im Konstruktor hab ich jetzt auch begriffen.

      Danke

      Kommentar

      Lädt...
      X