EvIo
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
EvIo
Референца за `class.evio.php` со подобрена типографија и навигација.
The EvIo class
Класата EvPrepare
Вовед
EvIo Класата EvIo level-triggering набљудувачите проверуваат дали дескрипторот на датотека (или сокет, или стрим што може да се префрли во нумерички дескриптор на датотека) е читлив или запишлив во секоја итерација на циклусот на настани, или, попрецизно, кога читањето нема да го блокира процесот и пишувањето барем ќе може да запише некои податоци. Ова однесување се нарекува
бидејќи настаните продолжуваат да се примаат сè додека условите траат. За да престанете да примате настани, едноставно запрете го набљудувачот.
fd
Бројот на набљудувачи за читање и/или запишување по
е неограничен. Поставувањето на сите дескриптори на датотеки во режим без блокирање обично е добра идеја (но не е задолжително).
Ev::READ
Друга работа на која треба да се внимава е дека е доста лесно да се добијат лажни известувања за подготвеност, т.е. повикот може да биде повикан со
read()
но последователен
read()
returning
EAGAIN
всушност ќе блокира бидејќи нема податоци. Многу е лесно да се дојде во оваа ситуација. Затоа е најдобро секогаш да се користи I/O без блокирање: Дополнителен
(или слично) е многу попосакуван од програма што виси додека не пристигнат некои податоци.
fd
Ако од некоја причина е невозможно да се изврши
SIGALRM
во режим без блокирање, тогаш посебно повторно тестирајте дали дескрипторот на датотеката е навистина подготвен. Некои луѓе дополнително користат
и тајмер за интервал, само за да бидат сигурни дека нема да блокираат бесконечно.
Синопсис на класата
mixed
$fd
,int
$events
,callable
$callback
,mixed
$data
= ?,int
$priority
= ?)
mixed
$fd
,int
$events
,callable
$callback
,mixed
$data
= null
,int
$priority
= 0
): EvIo
Својства
- fd
- events
Содржина
- EvIo::__construct — Креира инстанца на запрен EvIdle објект за набљудување
- EvIo::createStopped — Конструира EvIo објект за набљудување
- EvIo::set — Конструира EvChild објект за набљудување