函数名:EventBase::loop()
适用版本:PHP 7.0 或更高版本
用法:EventBase::loop() 函数用于启动事件循环。它会不断检查并处理已注册的事件,直到事件循环被显式停止。
示例:
<?php
// 创建事件库对象
$base = new EventBase();
// 创建定时器事件
$timer = Event::timer($base, function() {
echo "定时器事件触发\n";
});
// 设置定时器的回调间隔为2秒
$timer->add(2);
// 开始事件循环
$base->loop();
// 停止事件循环
$base->stop();
?>
在示例中,我们首先创建了一个事件库对象 $base
。然后,使用 $base
对象创建了一个定时器对象 $timer
。我们设置了定时器的回调间隔为2秒。然后,通过调用 $base
对象的 loop()
方法开始事件循环。在每个事件循环中,定时器事件会被触发,并输出 "定时器事件触发"。最后,通过调用 $base
对象的 stop()
方法停止事件循环。
注意:在实际使用中,循环事件通常与其他类型的事件(如信号事件、IO事件)一起使用,以便于多种类型的事件可以在同一个事件循环中处理。以上示例仅演示了如何使用定时器事件。