phpbar.de logo

Mailinglisten-Archive

[php] Rd: [genauer] erzeugt call_user_method() ein neues objekt

[php] Rd: [genauer] erzeugt call_user_method() ein neues objekt

php_(at)_phpcenter.de php_(at)_phpcenter.de
Tue, 29 Jan 2002 22:20:50 +0100


hallo!

ist mir klar, im beispiel existiert die funktion nicht erst zur laufzeit.
allerdings ist der anwendungsfall komplizierter; die funktion run wird in
einer klasse a definiert, die funktion test in der klasse b (extends a). a ist
im framework integriert, b wird vom nutzer entworfen, und der funktionsname
(hier 'test') wird dynamisch erzeugt.

also nochmal die eigentliche frage: erzeugt der aufruf von call_user_method
ein neues objekt oder nutzt es das übergebene? wenn nicht, wie kann man das
umgehen?

vielen dank nochmal

p.s.: antworten bitte auch an mich, bin digest-reader...
      riede_(at)_orange-butt.de

> Date: Tue, 29 Jan 2002 13:35:29 +0100
> From: Alexander Meurer <meurer_(at)_amsoft.de>
>
> Hallo Frieder,
>
> die Function "test" extistiert nicht erst "zur Laufzeit".
>
>    function run () {
> ...
>    }
>
> Ciao
>    Alex
>
> > Frieder schrieb:
> > ------------>8-----------
> > class abc
> > {
> >  var $var;
> >  function test()
> >  {
> >   $this->var = "bar";
> >  }
> >  function run()
> >  {
> >   $method = "test";
> >   $this->var = "foo";
> >   echo $this->var;        // zeigt logischerweise "foo"
> >   call_user_method($method, $this);
> >   echo $this->var;        // zeigt interessanterweise immer noch "foo"
> >  }
> > }
> > ------------8<-----------
> >

________________________________________________________________
Keine verlorenen Lotto-Quittungen, keine vergessenen Gewinne mehr!
Beim WEB.DE Lottoservice: http://tippen2.web.de/?x=13


php::bar PHP Wiki   -   Listenarchive