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