1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 08:42:13 +01:00
Files
archived-doc-ru/reference/event/event.xml
2024-06-18 12:06:40 +03:00

248 lines
9.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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
-->