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

> On 9 May 2010 23:21, Daniel Kolbo <kolb0...@umn.edu> 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

Reply via email to