Передача произвольного числа параметров

programmer_2006

Новичок
Передача произвольного числа параметров

Мне необходимо реализовать следующий функционал.
Есть метод класса в который я хочу передавать любое кол-во параметров(заранее не известно) в мануале обычно это выглядит так
PHP:
 [, mixed $parameter [, mixed $... ]]
В этом методе я создаю объект другого. класса и в метод это класса с уже установлеными параметрами мне надо передать нужные параметры.
Например:
PHP:
$obj->call('test', 'param1', 'params2', 'other');

public function call('test'.... тут мне надо как то все запихнуть)
{
    $obj2->myMethod('param1', 'param2');

}

в другой раз может быть, что то типа этого

$obj->call('test2');

или так

$obj->call('test3', array(1,4,6), array(5,67,7), 'lalala');
Вот как то так. Впринципе я решил эту задачу передавая параметры не отдельно, а массивом, а уже нужный метод из массива извлекает все необходимое. Но хотелось бы сделать красивее, возможно ли это вообще?
Может кто посоветует хороший вариант.

Заранее спасибо за ответы и терпение.
 

programmer_2006

Новичок
Автор оригинала: HraKK
func_get_args();
Она возвращает массив параметров которые всеравно надо присваивать переменным. Или может я ее как то не так пробовал...

-~{}~ 04.03.09 22:34:

Правильно понял?

public function call('test'.... тут мне надо как то все запихнуть)
{
$args = func_get_args();
$obj2->myMethod($args[1], $args[2]);

}

Вообще интересно как это на С реализовано. Там вроде как то красивше.
Если др. вариантов нет прийдется юзать то ,что есть.
 

programmer_2006

Новичок
Всем спасибо за ответы. Мне подошел вариант с функцией $result = call_user_func_array(array($obj, $methods), $params); тем более до этого я использовал просто call_user_func(...).
Понравилась функция extract, теперь буду о ней знать.
 
Сверху