删除了按引用传递的调用时间

2022-08-30 10:31:20

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

虽然它可能记录在互联网上的某个地方,但我找不到解决我的问题的方法。自 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) {)


答案 2

推荐