Re: __call and recursion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, May 9, 2010 at 3:25 PM, Peter Lind <peter.e.lind@xxxxxxxxx> wrote:

> On 9 May 2010 23:21, Daniel Kolbo <kolb0057@xxxxxxx> wrote:
> > Hello,
> >
> > I've defined a __call() method inside a class.  Within the __call()
> > method (after testing that the method exists and is callable I am using:
> >
> > call_user_func_array(array($this,$method), $args);
> >
> > However, this seems to be an infinite loop (and is crashing my test
> > apache server).  How, could I still use the __call() method and avoid an
> > infinite loop of calling?
>
> Assuming that your __call() method was reached because no $method was
> defined, using call_user_func_array() to call $method on the same
> object is going to result in ... your __call() method getting called
> again. You need to map the $method to whichever class methods you
> *actually* want to call, instead of blindly trying to reissue the
> call.
>

according to op it sounds like hes not blindly reissuing the call,

(after testing that the method exists and is callable I am using:

anyways, Daniel, your code seems sound, hard to say where the recursion is
coming from.  why not just dump the methods youre trying to invoke via
var_dump() or error_log() etc?

eg
..
var_dump($method);
call_user_func_array(array($this,$method), $args);


-nathan

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux