Передача именованных параметров в функцию php через call_user_func_array

При попытке вызвать функцию в дочернем классе с произвольным набором параметров у меня возникает следующая проблема:

class Base{

    function callDerived($method,$params){
        call_user_func_array(array($this,$method),$params);
    }
}

class Derived extends Base{
    function test($foo,$bar){
        print "foo=$foo, bar=$bar\n";
    }
}

$d = new Derived();
$d->callDerived('test',array('bar'=>'2','foo'=>1));

Вывод:

foo=2, bar=1

Какой ... это не совсем то, что я хотел - есть ли способ достичь этого помимо повторного составления массива с порядком индекса func_get_args? И да, конечно, я мог бы просто передать весь массив и обработать его в функции ... но это не то, что я хочу делать.

Спасибо

12
задан Wagemage 7 July 2011 в 12:25
поделиться