Время вызова по ссылке удалено
Возможный дубликат:
Передача по ссылке во время разговора устарела
Хотя это может быть задокументировано где-то в Интернете, я не могу найти решение своей проблемы. Начиная с обновления PHP 5.4, обходные ссылки были удалены.
Теперь у меня есть проблема с этим разделом кода, и я надеюсь, что кто-нибудь увидит, что я пытаюсь сделать с ним, чтобы они могли помочь мне с решением для преодоления моей проблемы передачи по ссылке.
Ниже приведен код:
public function trigger_hooks( $command, &$client, $input ) {
if( isset( $this->hooks[$command] ) ) {
foreach( $this->hooks[$command] as $func ) {
PS3socket::debug( 'Triggering Hook \'' . $func . '\' for \'' . $command . '\'' );
$continue = call_user_func( $func, &$this, &$client, $input );
if( $continue === FALSE ) {
break;
}
}
}
}
,
1 ответ
Решение
Только время вызова по ссылке удаляется. Так что поменяйте:
call_user_func($func, &$this, &$client ...
К этому:
call_user_func($func, $this, $client ...
&$this
никогда не должен быть нужен после PHP4 в любом случае.
Если вам абсолютно необходимо, чтобы $client передавался по ссылке, обновите подпись функции ($func) (function func(&$client) {
)