Mailinglisten-Archive |
Hi! > { > // Greife bitte hier auf eine Methode zu, die es in Haupt gibt > etwa so: > $super->irgendwas(); > > Geht sowas oder macht man sowas nicht mit PHP? > In diesem Sinne schönen Samstag und Danke! Nicht in dem Verfahren und ich würde mich wundern wenn es in einer anderen Programmiersprache so geht. die testklasse weiß ja von der Hauptklasse nix... Gibt nun mehrere möglichkeiten: a) Du erweiterst ("extends") die Hauptklasse mit der Testklasse. Dann kannst du aber nicht von der Hauptklasse aus auf Funktionen mit der Testklasse zugreifen. b) Zugriff auf die Klasse über Haupt::irgendwas(). Geht aber nicht immer, da du nicht auf ein Objekt zugreift. c) Beim initialisieren der Test-Klasse übergibst du das Objekt der Hauptklasse als (referenz-)parameter. Ob das wirklich so mit php funktioniert kann ich dir aber nicht sagen. Beispiel: class Haupt { var $test; // Constructor function Haupt() { $this->test = new Testklasse($test); } function irgendwas() { echo "foo"; } } class Testklasse { var $parent; // Constructor funtion Testklasse(& $parent) { $this->parent = & $parent; $this->parent->irgendwas(); } } Hab's nicht auf Fehler geprüft und ob es wirklich so funktioniert weiß ich auch nicht. Betrachte es einfach als Vorschlag für einen Ansatz :) bye, Roland -- Beyond the rim of star-light My love is wand'ring in star flight I know he'll find in star-clustered reaches Love, strange love a star woman teaches I know his journey end never His star trek will go on forever. But tell him while he wanders his starry sea Remember, remember me. - Gene Roddenberry, "Theme from Star Trek"
php::bar PHP Wiki - Listenarchive