呼叫时间通过引用已被删除

可能重复:
通过引用的调用时间已被弃用

虽然它可能logging在互联网上的某个地方,但是我找不到解决我的问题的办法。 自PHP 5.4更新以来,传递引用已被删除。

现在我遇到了这部分代码的问题,我希望有人能看到我正在尝试使用它,以便他们可以帮助我解决scheme来克服传递引用问题。

下面是有问题的代码:

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; } } } } 

只有通话时间通过引用被删除。 所以改变:

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

对此:

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

&$this PHP &$this无论如何&$this应该永远不需要。

如果你绝对需要通过引用传递$ client,则更新函数($ func)签名,而不是function func(&$client) {