函数名称:EventBase::stop()
适用版本:EventBase::stop() 函数可用于 PHP 5 >= 5.4.0 版本。
用法:EventBase::stop() 方法用于立即停止事件循环的执行。当调用该方法时,事件循环将立即退出,并停止处理任何待定事件。
示例:
// 创建EventBase对象
$eventBase = new EventBase();
// 创建Event对象
$event = new Event($eventBase, SIGINT, Event::SIGNAL | Event::PERSIST, function () use (&$eventBase) {
echo "SIGINT received. Stopping event loop." . PHP_EOL;
$eventBase->stop(); // 停止事件循环
});
// 将事件添加到事件循环中
$event->add();
// 开始事件循环
echo "Starting event loop." . PHP_EOL;
$eventBase->loop();
上述示例中,我们首先创建了一个 EventBase 对象作为事件循环的基础。然后,我们创建了一个 Event 对象,用于监听 SIGINT 信号。在回调函数中打印消息,并调用了 EventBase::stop() 方法来停止事件循环的执行。
最后,我们将事件添加到事件循环中,并调用了 EventBase 的 loop() 方法来启动事件循环。当 SIGINT 信号被触发时,回调函数中的消息会被打印出来,并且事件循环会立即停止执行。
需要注意的是,EventBase::stop() 方法只能在事件循环的执行期间调用。