Hi.
Du kannst schon am Namen der Objekte erkennen, ob diese sinnvoll sind. Welche Namen hast Du den Dingern gegeben?
eine typische Seite sieht momentan so aus (zusammengefasst):
===============================================
<?php require_once 'config.php'; // Doctype,__autoload,session_start
$menu = array(
"summary" => array("summary"),
"account" => array("account","data","skills","settings"),
"jobs" => array("current","open","bidding","ratings"),
"..." => array("..."),
"..." => array("...")); // Struktur für ein 2-Level Menü
$db = new Database();
$language = new Language($db);
/* Die Variablen $item und $tab werden an dieser Stelle initialisiert
und teilen der Instanz von menuPage mit, welche Seite aus dem Menü - siehe oben - selektiert ist. */
$page = new menuPage($language,$db,$menu,$item,$tab);
$content = new $page->currentTabName($language,$db);
$content->secure = true; // Nur für angemeldete Nutzer sichtbar
$page->build($content); // Die Methode build gibt Header und das
// Menü aus, fügt den durch $content
// generierten Seiteninhalt ein und gibt
// einen Footer aus.
?>
Eine Alternative wäre, die benötigten Objekte in den Klassen per 'global' sichtbar zu machen. Aber auch das erscheint mit irgendwie suspekt...
Das liest sich nicht gut.
Das war meine Vermutung! Obwohl es funktioniert...
Von jeder Klasse nur eine Instanz? Welche Klassen hast Du denn so?
Siehe oben. Wieso sollte ich mehrere Instanzen benötgen? Das Skript gibt EINE Seite aus, braucht EINE Datenbankschnittstelle, die Seite hat ein Interface in EINER gewählten Sprache.
Wo liegen meine fundamentalen Design-Fehler ;-) ?