Ссылка на передачу времени вызова была удалена [дубликат]


Возможный Дубликат:
Передача времени вызова по ссылке устарела

Хотя это может быть задокументировано где-то в Интернете, я не могу найти решение своей проблемы. Начиная с обновления 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;
            }
        }
    }
}

.

Author: Community, 2012-09-07

1 answers

Удаляется только время вызова ссылка на передачу. Так что меняйся:

call_user_func($func, &$this, &$client ...

К этому:

call_user_func($func, $this, $client ...

&$this в любом случае, после периода PHP4 это никогда не понадобится.

Если вам абсолютно необходимо, чтобы $client передавался по ссылке, вместо этого обновите подпись функции ($func) (function func(&$client) {)

 91
Author: Explosion Pills, 2012-09-07 17:36:05