При попытке вызвать функцию в дочернем классе с произвольным набором параметров у меня возникает следующая проблема:
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? И да, конечно, я мог бы просто передать весь массив и разобраться с ним в функции... но это не то, что я хочу сделать.
Спасибо