# ウォッチャー

ウォッチャーは、何らかのイベントに関する興味を記録するオブジェクトです。 たとえば次のコードは、 `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.) を変更するすべてのメソッドは、自動的にウォッチャーを停止して アクティブになったら立ち上げなおすことにも注意しましょう。 つまり、未処理のイベントは失われてしまいます。

ウォッチャーのコールバック も参照ください。