On Mon, Jun 28, 2010 at 12:39 PM, Shaun Morrow <morrow.sh...@gmail.com>wrote:

> I am working on code that implements a delegate design pattern, this makes
> use of the call_user_func_array function.
> I am having trouble with this particular line in PHP 5.3
> return call_user_func_array(array($delegate, $methodName), $parameters);
> $delegate is an object, and not simply the class name in a string.
> This works in versions of PHP lower than 5.3, but it seems as though the
> behaviour of this function was changed in 5.3, requiring you to pass the
> class name, meaning that the method will always be called statically.
> So my question is, is there any way that I can emulate the functionality of
> call_user_func_array that was present in PHP < 5.3?
> I would prefer not to use eval, but would like to retain the ability to
> call
> methods within objects dynamically.
> Sorry if I am not making myself clear, advice and input would be
> appreciated.

i never saw anything about a change to call_user_func_array as you describe
in php5.3  moreover a quick test shows its working as expected, namely when
the first argument of the callback array is an object, not a string naming a


echo phpversion() . PHP_EOL;
class A {
    function b() {

$a = new A();

string(4) "A::b"


Reply via email to