PHP函数名:EvTimer::__construct()
函数描述:EvTimer::__construct() 是一个构造函数,用于创建一个新的 EvTimer 对象,并将其与指定的回调函数和定时器间隔关联起来。
用法:
__construct ( float $after , float $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
参数:
- $after:表示定时器首次触发的延迟时间,单位为秒。
- $repeat:表示定时器重复触发的时间间隔,单位为秒。
- $callback:表示回调函数,当定时器触发时被调用。
- $data:可选参数,传递给回调函数的额外数据。
- $priority:可选参数,表示定时器的优先级,数值越低优先级越高。
示例:
// 创建一个定时器,每隔2秒执行一次回调函数
function timerCallback($timer, $repeats) {
echo "Timer callback is called\n";
if ($repeats == 0) {
// 取消定时器
$timer->clear();
}
}
$loop = EvLoop::defaultLoop();
$timer = new EvTimer(0, 2, 'timerCallback', false, 1);
// 参数说明:
// - 延迟时间为0秒,立即执行
// - 重复触发时间间隔为2秒
// - 回调函数为 timerCallback
// - 额外数据为 false
// - 优先级为1
$loop->run();
注意事项:
- $after 和 $repeat 参数值可以为小数,表示毫秒级别的精度。
- 回调函数可以是函数名字的字符串,也可以是符合调用标准的闭包函数。
- $priority 参数默认为0,表示普通优先级。可以设置为负数或正数来调整优先级。
- 调用 $timer->clear() 方法可以在回调函数内部取消定时器。
- 定时器对象可以通过 $timer->again() 方法重新启动已经取消的定时器。