2

そこで私は、IRC ボットを PHP で動作させ、ローカルで実行できるようにしようと試みてきました。ただし、サイトから情報を取得し、この情報を定期的に投稿できるようにしたいと考えています。そのために、pthreads をインストールしました。ただし、変数の参照には少し問題があります。

これは、ボットをチャネルに接続しようとしたときに発生するエラーです。

致命的なエラー: C:\Apache24\htdo cs\muhbot.php 行 128 のオーバーロードされたオブジェクトへの参照によって割り当てることはできません

これが私にエラーを与えているコードです。128 行目は __construct() 関数の最後の行です。

class recheck extends Thread {
    var $lastCheck,$bot;
    public function __construct(&$bot){
        $this->lastCheck = microtime(true);
        $this->bot = &$bot;
    }

$bot は、IRC 接続を管理するクラス オブジェクトです。クラスは、そのクラス内の関数によって作成されます。

function startCheck()
{
    $ReChecker = new recheck($this);
    $ReChecker->start();
}

メインクラスを参照として渡そうとしていますが、上から致命的なエラーが発生し続けます。このエラーが発生するのはなぜですか? また、どのように修正/回避できますか?

4

1 に答える 1

0

recheck$thisコンストラクターに渡す は、現在のオブジェクトへの参照であり、参照によって渡されます ( PHP5 オブジェクトは参照によって渡されますか? )。

&期待どおりに動作するはずのすべての an を取り除きます

   public function __construct($bot){
    $this->lastCheck = microtime(true);
    $this->bot = $bot;
  }
于 2014-09-18T21:55:32.773 に答える