phpbar.de logo

Mailinglisten-Archive

[php] Letzte aufgerufene Funktion?

[php] Letzte aufgerufene Funktion?

Hans Egg hans.egg at swissonline.ch
Mit Jun 4 11:27:17 CEST 2008


Hallo P.

Am 04.06.2008 um 10:21 schrieb P. Genna Privat:

> 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?

Dazu dient __call()
www.php.net/manual/de/language.oop5.overloading.php

Wenn du zuerst das Objekt erzeugst und anschließend die Methode  
aufrufst, funktioniert es:

<?php
class test {
     public function __get($name) {
	   return new text;
     }
}

class text{
     public function __call($method, $arguments){
        echo "Mich wirst du so nie sehen";
     }
}

$run = new test;
$go = $run->text;
$go->sprich();

?>


Gruß, Hans



php::bar PHP Wiki   -   Listenarchive