mirror of
https://github.com/php/doc-ru.git
synced 2026-03-26 08:42:13 +01:00
248 lines
9.0 KiB
XML
248 lines
9.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: rjhdby Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
|
||
<reference xml:id="class.event" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||
<title>Класс Event</title>
|
||
<titleabbrev>Event</titleabbrev>
|
||
<partintro>
|
||
<!-- {{{ Event intro -->
|
||
<section xml:id="event.intro">
|
||
&reftitle.intro;
|
||
<para>
|
||
Класс <classname>Event</classname> представляет
|
||
и срабатывает на следующие события:
|
||
файловый дескриптор
|
||
готов к чтению или записи; становится готов
|
||
к чтению или записи (только edge-triggered I/O
|
||
(единовременное срабатывание)); заканчивается
|
||
ожидание; получен системный сигнал;
|
||
произошло пользовательское событие.
|
||
</para>
|
||
<para>
|
||
Каждое событие связано с
|
||
<classname>EventBase</classname>.
|
||
Однако событие не будет обработано, пока не будет
|
||
<emphasis>добавлено</emphasis> с помощью
|
||
метода <methodname>Event::add</methodname>.
|
||
Добавленное событие находится в статусе ожидания
|
||
<emphasis>pending</emphasis>, пока оно
|
||
не произошло. После этого оно переходит в статус
|
||
активно (<emphasis>active</emphasis>). Для обработки
|
||
событий пользователь может зарегистрировать функцию
|
||
обратного вызова, которая будет вызвана в момент
|
||
перехода события в активный статус. Если событие
|
||
настроено как постоянное (<emphasis>persistent</emphasis>),
|
||
оно вернётся в статус ожидания. Если оно не
|
||
постоянное, то оно выйдет из режима ожидания
|
||
после запуска функции обратного вызова.
|
||
Метод
|
||
<methodname>Event::del</methodname>
|
||
<emphasis>удаляет</emphasis>, соответственно
|
||
выводя его из статуса ожидания. Добавить его
|
||
заново можно методом
|
||
<methodname>Event::add</methodname>.
|
||
</para>
|
||
</section>
|
||
<!-- }}} -->
|
||
<section xml:id="event.synopsis">
|
||
&reftitle.classsynopsis;
|
||
|
||
<!-- {{{ Synopsis -->
|
||
<classsynopsis>
|
||
<ooclass>
|
||
<classname>Event</classname>
|
||
</ooclass>
|
||
<!-- {{{ Class synopsis -->
|
||
<classsynopsisinfo>
|
||
<ooclass>
|
||
<modifier>final</modifier>
|
||
<classname>Event</classname>
|
||
</ooclass>
|
||
</classsynopsisinfo>
|
||
<!-- }}} -->
|
||
<classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
|
||
<fieldsynopsis>
|
||
<modifier>const</modifier>
|
||
<type>int</type>
|
||
<varname linkend="event.constants.et">Event::ET</varname>
|
||
<initializer>32</initializer>
|
||
</fieldsynopsis>
|
||
<fieldsynopsis>
|
||
<modifier>const</modifier>
|
||
<type>int</type>
|
||
<varname linkend="event.constants.persist">Event::PERSIST</varname>
|
||
<initializer>16</initializer>
|
||
</fieldsynopsis>
|
||
<fieldsynopsis>
|
||
<modifier>const</modifier>
|
||
<type>int</type>
|
||
<varname linkend="event.constants.read">Event::READ</varname>
|
||
<initializer>2</initializer>
|
||
</fieldsynopsis>
|
||
<fieldsynopsis>
|
||
<modifier>const</modifier>
|
||
<type>int</type>
|
||
<varname linkend="event.constants.write">Event::WRITE</varname>
|
||
<initializer>4</initializer>
|
||
</fieldsynopsis>
|
||
<fieldsynopsis>
|
||
<modifier>const</modifier>
|
||
<type>int</type>
|
||
<varname linkend="event.constants.signal">Event::SIGNAL</varname>
|
||
<initializer>8</initializer>
|
||
</fieldsynopsis>
|
||
<fieldsynopsis>
|
||
<modifier>const</modifier>
|
||
<type>int</type>
|
||
<varname linkend="event.constants.timeout">Event::TIMEOUT</varname>
|
||
<initializer>1</initializer>
|
||
</fieldsynopsis>
|
||
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
|
||
<fieldsynopsis>
|
||
<modifier>public</modifier>
|
||
<modifier>readonly</modifier>
|
||
<type>bool</type>
|
||
<varname linkend="event.props.pending">pending</varname>
|
||
</fieldsynopsis>
|
||
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
|
||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.event')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
|
||
</classsynopsis>
|
||
<!-- }}} -->
|
||
</section>
|
||
<!-- {{{ Event properties -->
|
||
<section xml:id="event.props">
|
||
&reftitle.properties;
|
||
<variablelist>
|
||
<varlistentry xml:id="event.props.pending">
|
||
<term>
|
||
<varname>pending</varname>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Обозначает, что событие в состоянии ожидания. Смотрите
|
||
<link linkend="event.persistence">О постоянных событиях</link>
|
||
.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</section>
|
||
<!-- }}} -->
|
||
<!-- {{{ Event constants -->
|
||
<section xml:id="event.constants">
|
||
&reftitle.constants;
|
||
<variablelist>
|
||
<varlistentry xml:id="event.constants.et">
|
||
<term>
|
||
<constant>Event::ET</constant>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Означает, что событие должно срабатывать один раз
|
||
при изменении статуса (edge-triggered), если
|
||
используемый бекенд поддерживает такое поведение.
|
||
Это влияет на семантику
|
||
<constant>Event::READ</constant>
|
||
и
|
||
<constant>Event::WRITE</constant>
|
||
.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="event.constants.persist">
|
||
<term>
|
||
<constant>Event::PERSIST</constant>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Обозначает, что событие постоянное. Смотрите
|
||
<link linkend="event.persistence">О постоянных событиях</link>
|
||
.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="event.constants.read">
|
||
<term>
|
||
<constant>Event::READ</constant>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Этот флаг указывает событие, которое становится
|
||
активным, когда предоставленный файл (обычно
|
||
потоковый ресурс или сокет) готов к чтению.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="event.constants.write">
|
||
<term>
|
||
<constant>Event::WRITE</constant>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Этот флаг указывает событие, которое становится
|
||
активным, когда предоставленный файл (обычно
|
||
потоковый ресурс или сокет) готов к записи.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="event.constants.signal">
|
||
<term>
|
||
<constant>Event::SIGNAL</constant>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Используется для реализации отслеживания
|
||
системных сигналов. Смотрите "Создание событий
|
||
для сигналов" ниже.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="event.constants.timeout">
|
||
<term>
|
||
<constant>Event::TIMEOUT</constant>
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Флаг означает, что активировалось событие по
|
||
истечению ожидания (timeout).
|
||
</para>
|
||
<para>
|
||
Флаг
|
||
<constant>Event::TIMEOUT</constant>
|
||
игнорируется при создании события: его можно
|
||
установить при <emphasis>добавлении</emphasis>.
|
||
Он задаётся в аргументе
|
||
<literal>$what</literal> функции обратного
|
||
вызова, если произошло событие этого типа.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</section>
|
||
<!-- }}} -->
|
||
</partintro>
|
||
|
||
&reference.event.entities.event;
|
||
|
||
</reference><!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|