Путаница в передаче PHP по ссылке

Короче говоря, у меня есть следующая функция как часть моей структуры:

public function use_parameters()
{
    $parameters = func_get_args();

    $stack = debug_backtrace();

    foreach($stack[0]['args'] as $key => &$parameter)
    {
        $parameter = array_shift($this->parameter_values);
    }
}

Где $this ->параметр _values ​​= массив ('value1', 'value2', 'value3', 'value4', 'value5',... );

Который используется в следующем контексте:

$instance->use_parameters(&$foo, &$bah);

Назначение:

$foo = 'value1';
$bah = 'value2';

Звоню снова

$instance->use_parameters(&$something); 

Установит

$something = 'value3'

и так далее.

Начиная с версии 5.3, он будет возвращать предупреждение «Устаревший :вызов -time pass -по ссылке -устарел». Пытаясь соответствовать способу работы 5.3, я удалил &, что привело к:

$instance->use_parameters($foo, $bah);

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

Я использую PHP v5.3.3 -7 на Apache/2.2.16 (Debian )

. Любая помощь будет принята с благодарностью.

5
задан Liam 6 July 2012 в 10:53
поделиться