Отображать что-то только один раз в бесконечном цикле на php (Laravel)Php

Кемеровские программисты php общаются здесь
Anonymous
Отображать что-то только один раз в бесконечном цикле на php (Laravel)

Сообщение Anonymous »

У меня есть команда (Laravel). команда выполняет закручивание веб-сайта, это своего рода программа проверки сайта. когда сервер не работает, я хочу что-то повторить, но это должно быть только один раз.
пробовал этот код. не работает. оно продолжает звучать эхом. и теперь я застрял.

Код: Выделить всё

class Monitoring extends Command {
protected $signature = 'run:monitoring';

private $state;

public function __construct() {
parent::__construct();

$this->state = false;
}

public function handle() {
while (true) {
if (!$this->isMyServerAlive()) {
$this->state = true;

if ($this->state) {
echo 'THE SERVER IS DOWN!!!';
}
} else {
$this->state = false;
}
}

}

private function isMyServerAlive() {
return false; // let's say the server is down
}

}
Я знаю, что приведенный выше код будет продолжать отображать эхо.
Цель состоит в том, чтобы, когда функция isMyServerAlive() возвращает значение true из false и снова возвращает значение true, оно будет повторяться только один раз во второй раз, и так далее, и так далее.
Надеюсь, это сообщение понятно.
Есть ли лучший обходной путь, чем этот?

Подробнее здесь: https://stackoverflow.com/questions/702 ... hp-laravel

Вернуться в «Php»