Andreas-Lindig: Objektorientierung in PHP richtig anwenden bei einem Forum

Beitrag lesen

Boy! Nachrichten im Nachhinein als nicht-Admin verändern?
Der Admin kann alle Threads/Antworten editieren/löschen, der registrierte Benutzer nur seine eigen geschriebenen

na, ich weiß ja nicht. Wir wollen hier nicht über Dein Konzept diskutieren, aber ob das sinnvoll ist, daß da einer Leute beschimpfen kann und wenn es peinliche Reaktionen gibt, dann kann er sein Ausgangsposting einfach ändern?

Ich habe z.B. eine Klasse "userdaten" - in den Objekten dieser Klasse stehen persönliche Voreinstellungen und gelesene Postings des jeweiligen Users drin.

Hm ich weiß nicht, ob ich mir etwas Richtiges dabei vorstelle, aber könntest du mal jeweils eine Funktion der beiden Objekte nennen, damit der Sinn hierbei besser erkennbar ist.

naja, "userdaten" liest zum Beispiel das ID-Cookie aus und setzt es ggf. Dann hat sie die Methode "get_voreinstellungen" - damit liest sie die Datei mit den individuellen Einstellungen und gelesenen Beiträgen des Users aus. Genauso gibt es "set_gelesen" oder "set_voreinstellungen". Oder "get_status" - an diese Methode kann man eine Posting-ID schicken und bekommt zurück, ob dieses Posting gelesen ist oder neu oder normal.

Und wass wird hierbei vererbt? Also was würden diese Objekte alle gemeinsam haben

bei mir wird nicht so viel vererbt. Nur die Klasse "posting" vererbt an "postingKurz" und "postingLang". Wie Andreas Korthaus schon schrieb gibt es ein Objekt, das nur die Kopfinformationen enthält und eines, das auch den Text und ausführlicheren Kopf enthält. Gemeinsam haben sie die Kopfdaten, und die Methoden zum holen aus der DB. Außerdem habe ich Buttons mit denen man in der Threadliste blättern kann, einen für "vor" und einen für "zurück", die haben gemeinsam, daß sie Pfeile als Bilder einbinden und die noch mögliche Anzahl der Postings aus der DB abfragen. Das steht dann in der Superklasse "Button".

In Deinem Fall wäre sicher eine Oberklasse die für die verschiedenen Nutzer, aber auch eine für die verschiedenen Foren sinnvoll. Bedenke aber, daß die ganze Vererbung in PHP noch nicht ausgereift ist. Du kannst zum Beispiel nicht wirklich auf Superklassen zugreifen oder innere Klassen bilden.

Aufzeichnen, hm. Ich probiers mal.

das finde ich immer sehr hilfreich, also so ein Baumdiagramm

Ich habe mich bemüht diese Antwort verständlich zu fomulieren

find' ich gut :)

Gruß, Andreas

--
<img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
http://was-ist-das.andreas-lindig.de