Mailinglisten-Archive |
Hallo mal wieder, diesmal hab ich folgende Idee: Wir haben das Objekt 'test' welches wiederum das Objekt 'text' haben könnte, aber in diesem Fall nicht hat. Objekt 'text' hat die Methode 'sprich'. Im Gedanken 'test' hätte 'text' rufen wir also: 'test->text->sprich()'. Das hier die allseitsbeliebte Fehlermeldung :'Call to a member function spich() on a non-object' erscheint, ist verständlich. Möglichkeiten hier wäre das Magische '__get()', damit könnte ich ja ausfinden welches Objekt fehlt und dieses nachladen. Aber wie finde ich raus welche Methode auf das Objekt ausgeführt werden sollte? Ist das überhaupt möglich? <php class test{ public function __get($name){ $this->$name = new $name; #echo "Objekt $name ist nicht forhanden"; #hier hab ich das fehlende Objekt rein geladen, aber wie bekomme ich die vorletzt aufgerufene Funktion? } } class text{ public function sprich(){ echo "Mich wirst du so nie sehen"; } } $run = new test; $run->text->sprich(); ?> Im Abschluss sei gesagt das es nur ein Gedankensprung ist. Wenn es nicht geht ist es auch ok. Dies ist eine Frage der Machbarkeit.
php::bar PHP Wiki - Listenarchive