Files
doc-fr/reference/yar/yar_concurrent_client/loop.xml
Jean-Baptiste Nahan cb231420bc Sync with EN
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@345174 c90b9560-bf6c-de11-be94-00142212c4b1
2018-06-19 15:57:16 +00:00

146 lines
5.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 331fbfeac522d4ad00de1e043cc11610d66b88f9 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="yar-concurrent-client.loop" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Yar_Concurrent_Client::loop</refname>
<refpurpose>Envoi tous les appels</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>bool</type><methodname>Yar_Concurrent_Client::loop</methodname>
<methodparam choice="opt"><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>callable</type><parameter>error_callback</parameter></methodparam>
</methodsynopsis>
<para>
Envoi tous les appels distants RPC enregistrés.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>callback</parameter></term>
<listitem>
<para>
Si la fonction de rappel est définie, alors Yar appelera cette fonction
de rappel après avoir envoyé tous les appels, et avant le retour
des réponses, avec $callinfo vallant NULL.
</para>
<para>
Alors, si l'utilisateur ne spécifie pas de fonction de rappel lors de
l'enregistrement d'appel concurrent, cette fonction de rappel sera
utilisée pour gérer les réponses, sinon, la fonction de rappel
spécifiée pendant l'enregistrement sera utilisée.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_callback</parameter></term>
<listitem>
<para>
Si la fonction de rappel est définie, alors Yar l'appelera
lorsqu'une erreur surviendra.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Exemple avec <function>Yar_Concurrent_Client::loop</function></title>
<programlisting role="php">
<![CDATA[
<?php
function callback($retval, $callinfo) {
if ($callinfo == NULL) {
echo "Maintenant, toutes les requêtes ont été émises, et aucune réponse n'est pour l'instant disponible\n";
} else {
echo "Ceci est une réponse à un appel distant, le nom de la méthode est ", $callinfo["method"],
". La séquence d'appel est " , $callinfo["sequence"] , "\n";
var_dump($retval);
}
}
function error_callback($type, $error, $callinfo) {
error_log($error);
}
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters")); // Si la fonction de rappel n'est pas spécifiée
// la fonction de rappel de la boucle sera utilisée
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
// ce serveur accepte le packager json
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
//Délai d'attente maximal personnalisé
Yar_Concurrent_Client::loop("callback", "error_callback"); //Envoi les requêtes,
//error_callback est optionnel
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Maintenant, toutes les requêtes ont été émises, et aucune réponse n'est pour l'instant disponible
Ceci est une réponse à un appel distant, le nom de la méthode est some_method. La séquence d'appel est 4
string(11) "some_method"
Ceci est une réponse à un appel distant, le nom de la méthode est some_method. La séquence d'appel est 1
string(11) "some_method"
Ceci est une réponse à un appel distant, le nom de la méthode est some_method. La séquence d'appel est 2
string(11) "some_method"
Ceci est une réponse à un appel distant, le nom de la méthode est some_method. La séquence d'appel est 3
string(11) "some_method"
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>Yar_Concurrent_Client::call</methodname></member>
<member><methodname>Yar_Concurrent_Client::reset</methodname></member>
<member><methodname>Yar_Server::__construct</methodname></member>
<member><methodname>Yar_Server::handle</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
-->