Heizer: Hirachie von Objekten

Beitrag lesen

Liebes Forum

Ich stehe vor der Aufgabe, alle Objekte, die ich geschrieben habe in eine neue Hirachie zu bringen, um die Kommunikation zwiswchen ihnen zu verbessern. Dabei denke ich mir nun, daß es zwei Ansatzpunkte gäbe. Nehmen wir als Beispiel die Klassen User, Window und Content an. Im Moment sieht meine Struktur so aus:

$user =& new user();
$user->login();
$window = &new window();
$content = &new content($ID);
$window->start();              // Ausgabe starten
$content->get();               // Ausgabe
$winodw->stop();               // Ausgabe beenden und and den Browser senden

So wiet so gut, aber nun brauche ich eigentlich das Objekt $user auch in $content, da bestimmte Methoden nur für bestimmte User erlaubt sind. Ich mache das im Moment so, daß ich das User Objekt an $content übergebe:

$content->setUser($user);

Ich habe langsam aber das Gefühl, daß dies suboptimal ist, vor allem da ich eine vielzahl an Objekten habe, die sich an bestimmten Punkten alle gegenseitig benötigen.

Der Gedanke war nun, entweder die Objekte innerhalb des übergeordneten Objekts zu erstellen. Also:

$user =& new user();
$user->login();
$user->newWindow();
$user->newContent($ID);
$user->window->start();
$user->content->get();
$user->window->stop();

Oder ich mache es nur mit Vererbung. Also:
class Content extends Window extends User etc.

Und es so schreiben:

$content =& new Content();
// User::login, Window::start etc. könnten dann in
$content->get();
// beinhaltet sein.

Vielleicht kommt mir das nur deshalb so seltsam vor, weil dann in den eigentlichen PHP Dateien teilweise nur noch drei Zeilen stehen würden. Und weil ich dann ca. 7 Objekte hätte, die einander erweitern.

Ich bin noch ziemlich neu im OOP, und ich würde mich sehr freuen über einen Link, welche bewährten Strukturen es gibt. Ich finde nur Tutorials, die die allgemeine Funktionalität beschreiben, aber die weiß ich inzwischen recht gut.

Auch für Tipps wie: "Das ist alles ganz falsch, mach es lieber so: ..." Bin ich dankbar.

Grüße

Heizer