所以我一直试图让一个使用PHP的IRC机器人在本地运行。但是,我希望它能够从站点检索信息,并定期发布此信息。所以我安装了pthreads来做到这一点。但是,我在引用变量方面遇到了一些麻烦。
这是我在尝试将僵尸程序连接到频道时遇到的错误。
致命错误:无法通过引用分配C:\ Apache24 \ htdo中的重载对象 第128行的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();
}
我试图将主类作为参考传递,但不断从上面得到致命错误。为什么我会收到此错误,我该如何修复/解决它?
答案 0 :(得分:0)
传递给recheck构造函数的$this
是对当前对象的引用,并通过引用传递(Are PHP5 objects passed by reference?)。
摆脱所有&
它应该按预期工作
public function __construct($bot){
$this->lastCheck = microtime(true);
$this->bot = $bot;
}