ウォッチャーは、何らかのイベントに関する興味を記録するオブジェクトです。
たとえば次のコードは、
STDIN
が読み込み可能になるまで待ちます。
<?php
// STDIN が読み込み可能になるまで待ちます
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
echo "STDIN is readable\n";
});
Ev::run(Ev::RUN_ONCE);
?>
すべてのウォッチャーのコンストラクタが、自動的にウォッチャーを開始します。 createStopped メソッドを使う (EvIo::createStopped() など) と、停止状態のウォッチャーを作れます。
ウォッチャーオブジェクトを破棄するときには、自動的にウォッチャーが停止することに注意しましょう。 したがって、コンストラクタやファクトリーメソッドが返すオブジェクトはずっと維持する必要があります。
また、ウォッチャーのプロパティ (set や priority etc.) を変更するすべてのメソッドは、自動的にウォッチャーを停止して アクティブになったら立ち上げなおすことにも注意しましょう。 つまり、未処理のイベントは失われてしまいます。
ウォッチャーのコールバック も参照ください。