resources — PHP хранит ссылку в свойстве объекта (невозможно назначить ссылкой на перегруженный объект)

Поэтому я пытался заставить бот 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();
}

Я пытаюсь передать основной класс в качестве ссылки, но продолжаю получать фатальную ошибку сверху. Почему я получаю эту ошибку, и как я могу исправить / обойти ее?

2

Решение

$this то, что вы передаете в конструктор recheck, является ссылкой на текущий объект и передается по ссылке (Передаются ли объекты PHP5 по ссылке?).

Избавиться от всех ваших & это должно работать как ожидалось

   public function __construct($bot){
$this->lastCheck = microtime(true);
$this->bot = $bot;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]