EvPeriodic::__construct

Constructs EvPeriodic watcher object

説明

public EvPeriodic::__construct(
     float $offset ,
     string $interval ,
     callable $reschedule_cb ,
     callable $callback ,
     mixed $data = null ,
     int $priority = 0
)

Constructs EvPeriodic watcher object and starts it automatically. EvPeriodic::createStopped method creates stopped periodic watcher.

パラメータ

offset
See Periodic watcher operation modes
interval
See Periodic watcher operation modes
reschedule_cb
Reschedule callback. You can pass null. See Periodic watcher operation modes
callback
See Watcher callbacks.
data
Custom data associated with the watcher.
priority
Watcher priority

例1 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
 return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

例2 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

例3 Hourly watcher

<?php
$hourly = EvPeriodic(0, 3600, NULL, function () {
 echo "once per hour\n";
});
?>

参考