array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'class.event.php', 1 => 'Event', ), 'up' => array ( 0 => 'book.event.php', 1 => 'Event', ), 'prev' => array ( 0 => 'event.constructing.signal.events.php', 1 => 'Создание событий для сигналов', ), 'next' => array ( 0 => 'event.add.php', 1 => 'Event::add', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/event/event.xml', ), 'extra_header_links' => array ( 'rel' => 'alternate', 'href' => '/manual/en/feeds/class.event.atom', 'type' => 'application/atom+xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL event >= 1.2.6-beta)
Класс Event представляет и срабатывает на следующие события: файловый дескриптор готов к чтению или записи; становится готов к чтению или записи (только edge-triggered I/O (единовременное срабатывание)); заканчивается ожидание; получен системный сигнал; произошло пользовательское событие.
Каждое событие связано с EventBase . Однако событие не будет обработано, пока не будет добавлено с помощью метода Event::add(). Добавленное событие находится в статусе ожидания pending, пока оно не произошло. После этого оно переходит в статус активно (active). Для обработки событий пользователь может зарегистрировать функцию обратного вызова, которая будет вызвана в момент перехода события в активный статус. Если событие настроено как постоянное (persistent), оно вернётся в статус ожидания. Если оно не постоянное, то оно выйдет из режима ожидания после запуска функции обратного вызова. Метод Event::del() удаляет, соответственно выводя его из статуса ожидания. Добавить его по новой можно с помощью метода Event::add().
Обозначает, что событие в состоянии ожидания. Смотрите О постоянных событиях .
Event::ET
Означает, что событие должно срабатывать один раз
при изменении статуса (edge-triggered), если
используемый бекенд поддерживает такое поведение.
Это влияет на семантику
Event::READ
и
Event::WRITE
.
Event::PERSIST
Обозначает, что событие постоянное. Смотрите О постоянных событиях .
Event::READ
Этот флаг указывает событие, которое становится активным, когда предоставленный файл (обычно потоковый ресурс или сокет) готов к чтению.
Event::WRITE
Этот флаг указывает событие, которое становится активным, когда предоставленный файл (обычно потоковый ресурс или сокет) готов к записи.
Event::SIGNAL
Используется для реализации отслеживания системных сигналов. Смотрите "Создание событий для сигналов" ниже.
Event::TIMEOUT
Флаг означает, что активировалось событие по истечению ожидания (timeout).
Флаг
Event::TIMEOUT
игнорируется при создании события: его можно
установить при добавлении.
Он задаётся в аргументе
$what
функции обратного
вызова, если произошло событие этого типа.