mirror of
https://github.com/php/doc-fr.git
synced 2026-03-24 07:02:06 +01:00
163 lines
4.5 KiB
XML
163 lines
4.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: b4fbf4434abeca44c58575ff3967e5640f7877d5 Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="evembed.construct">
|
|
<refnamediv>
|
|
<refname>EvEmbed::__construct</refname>
|
|
<refpurpose>Construit un objet EvEmbed</refpurpose>
|
|
</refnamediv>
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<constructorsynopsis>
|
|
<modifier>public</modifier>
|
|
<methodname>EvEmbed::__construct</methodname>
|
|
<methodparam>
|
|
<type>object</type>
|
|
<parameter>other</parameter>
|
|
</methodparam>
|
|
<methodparam choice="opt">
|
|
<type>callable</type>
|
|
<parameter>callback</parameter>
|
|
</methodparam>
|
|
<methodparam choice="opt">
|
|
<type>mixed</type>
|
|
<parameter>data</parameter>
|
|
</methodparam>
|
|
<methodparam choice="opt">
|
|
<type>int</type>
|
|
<parameter>priority</parameter>
|
|
</methodparam>
|
|
</constructorsynopsis>
|
|
<simpara>
|
|
Il s'agit d'un type de watcher avancé qui permet d'intégrer une boucle
|
|
d'événement dans une autre (actuellement, seuls les événements IO sont
|
|
supportés dans la boucle interne, les autres types de watcher ne doivent
|
|
pas être utilisés).
|
|
</simpara>
|
|
<simpara>
|
|
Voir la
|
|
<link xlink:href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_embed_code_when_one_backend_">
|
|
documentation libev</link> pour plus de détails.
|
|
</simpara>
|
|
<simpara>
|
|
Ce watcher est le plus utile sous les systèmes
|
|
<emphasis>BSD</emphasis> où <literal>kqueue</literal> n'est pas utilisé,
|
|
pour être capable de gérer un grand nombre de sockets. Voir l'exemple ci-dessous.
|
|
</simpara>
|
|
</refsect1>
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>
|
|
<parameter>other</parameter>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Une instance de <classname>EvLoop</classname>. La boucle à intégrer ;
|
|
elle doit être encapsulable (voir la méthode
|
|
<methodname>Ev::embeddableBackends</methodname>).
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<parameter>callback</parameter>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Voir les
|
|
<link linkend="ev.watcher-callbacks">fonctions de rappel des Watcher</link>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<parameter>data</parameter>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Données personnalisées à associer avec le watcher.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<parameter>priority</parameter>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<link linkend="ev.constants.watcher-pri">Priorité du Watcher</link>
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<example>
|
|
<title>
|
|
Encapsulage d'une boucle créée avec le gestionnaire kqueue dans la boucle par défaut</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/*
|
|
* Vérifie si kqueue est disponible et crée un gestionnaire kqueue
|
|
* pour l'utiliser avec les sockets (qui fonctionne habituellement avec n'importe quelle implémentation
|
|
* de kqueue. Stocke la boucle d'événement kqueue/socket seulement, dans loop_socket.
|
|
* (optionnellement, utilisation de EVFLAG_NOENV)
|
|
*
|
|
* Exemple issu de
|
|
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
|
|
*/
|
|
$loop = EvLoop::defaultLoop();
|
|
$socket_loop = NULL;
|
|
$embed = NULL;
|
|
|
|
if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
|
|
if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
|
|
$embed = new EvEmbed($loop);
|
|
}
|
|
}
|
|
|
|
if (!$socket_loop) {
|
|
$socket_loop = $loop;
|
|
}
|
|
|
|
// Maintenant, on utilise $socket_loop pour tous les sockets, et $loop pour tout le reste
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</refsect1>
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<simplelist>
|
|
<member>
|
|
<methodname>Ev::embeddableBackends</methodname>
|
|
</member>
|
|
</simplelist>
|
|
</refsect1>
|
|
</refentry>
|
|
<!-- 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
|
|
-->
|