Передать аргументы функции второй функции - PullRequest
0 голосов
/ 26 июня 2010

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

Таким образом, function1() может принимать любое количество параметров и затем использует func_get_args() чтобы получить их все и обработать их, чтобы придумать строку.Тем не менее, у меня есть function2(), который я хочу иметь аналогичную функцию, но некоторые дополнительные вещи добавляются после этого.По сути, вторая функция сохранит часть информации, которая будет перезаписана первой, во временную переменную, затем выполнит первую функцию и продолжит работу с остальной частью этой функции.Итак, как я могу отправить все параметры, которые отправляются на function2() на function1(), когда он вызывается во второй функции?Я чувствую, что, возможно, слишком обдумываю это, и, вероятно, будет более простой способ сделать это.

РЕДАКТИРОВАТЬ

Я вызываю эту функцию:

function2("arg1", "arg2", "arg3");

и внутри этой функции мне нужно отправить эти аргументы в function1, например, так:

function2() {
    $old = $this->name;
    function1("arg1", "arg2", "arg3");
}

и function1 выполнит свою обработку, чтобы функция2 могла продолжить.Первая функция изменяет переменную имени в классе, поэтому мне нужно временно сохранить ее заранее (она мне больше не нужна после завершения функции).Таким образом, в основном мы просто берем аргументы, отправленные в function2, и подключаем их к function1.

Ответы [ 2 ]

4 голосов
/ 26 июня 2010

Я не уверен, что правильно понимаю ... но я думаю, вы должны добавить call_user_func_array("function1", func_get_args()) к function2()

0 голосов
/ 26 июня 2010

То, что ваша попытка решить проблему так сложно описать, настоятельно указывает на то, что это не идеальный подход.

В вашем описании проблемы предлагается понятие набора данных с двумя различными, но связанными функциями.Вы говорите о временной переменной, с которой работают обе функции и, возможно, обе функции вызывают друг друга.

Это указывает на необходимость для класса обернуть эти наборы операций, при этом одно или несколько свойств необходимы дляхраните исходный набор данных, выходной набор данных и любое количество временных переменных и четкий набор методов для выполнения необходимых операций.

...