2

所以我一直在尝试让一个 IRC 机器人与 PHP 一起在本地运行。但是,我希望它能够从站点检索信息,并定期发布此信息。所以我安装了 pthreads 来做到这一点。但是,我在引用变量时遇到了一些麻烦。

这是我在尝试将机器人连接到频道时遇到的错误。

致命错误:无法通过引用第 128 行 C:\Apache24\htdo cs\muhbot.php 中的重载对象进行分配

这是它给我一个错误的代码。第 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 对象是通过引用传递的吗?)。

摆脱所有&它应该按预期工作

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