# Наблюдатели

Наблюдатель - это объект, который создан для слежения за каким-либо конкретным событием. К примеру, следующий код будет ожидать, когда `STDIN` станет читаемым:

    <?php
    // Ждём, пока STDIN не станет доступным для чтения
    $w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
     echo "STDIN можно считать\n";
    });
    Ev::run(Ev::RUN_ONCE);
    ?>

Конструкторы наблюдателей запускают их автоматически. Если вам нужно создать наблюдателя, но не запускать, используйте метод `createStopped` (EvIo::createStopped()).

Обратите внимание, что при уничтожении объекта наблюдателя, он будет автоматически остановлен. Таким образом, объекты наблюдатели, возвращённые из конструкторов или фабричных методов должны быть сохранены.

Обратите внимание, что все методы, изменяющие свойства наблюдателя (set, priority и т.д.), автоматически останавливают и перезапускают наблюдатель, если он активен, это означает, что все ожидающие сообщения будут потеряны.

Также читайте: Callback-функции наблюдателей.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open