ConFoo 2025

eio_custom

(PECL eio >= 0.0.1dev)

eio_customExécute une demande personnalisée comme l'appel à une des fonctions eio_*

Description

eio_custom(
    callable $execute,
    int $pri,
    callable $callback,
    mixed $data = NULL
): resource

eio_custom() exécute une fonction personnalisée spécifiée par le paramètre execute et la traitant juste comme les autres fonctions eio_*.

Liste de paramètres

execute

Spécifie la fonction demandée, qui doit correspondre au prototype suivant :

      mixed execute(mixed data);
      
callback est la fonction de rappel qui doit correspondre au prototype suivant :
      void callback(mixed data, mixed result);
      
data représente les données passées à execute via l'argument data sans modification de la valeur result retourné par execute

pri

La priorité de la requête : EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, ou null. Si null est passé, le paramètre pri, en interne, est défini à EIO_PRI_DEFAULT.

callback

La fonction de rappel callback est appelée lorsque la requête est terminée. Elle doit correspondre au prototype suivant :

void callback(mixed $data, int $result[, resource $req]);
data

représente les données personnalisées passées à la requête.

result

représente la valeur résultante spécifique à la requête ; basiquement, la valeur retournée par l'appel système correspondant.

req

est la ressource optionnelle de la requête qui peut être utilisée avec les fonctions comme eio_get_last_error().

data

Variable arbitraire à passer à la fonction de rappel callback.

Valeurs de retour

eio_custom() retourne la ressource demandée en cas de succès, ou false si une erreur survient.

Exemples

Exemple #1 Exemple avec eio_custom()

<?php
/* Fonction de rappel pour la fonction de rappel personnalisée */
function my_custom_callback($data, $result) {
var_dump($data);
var_dump(count($result));
var_dump($result['data_modified']);
var_dump($result['result']);
}

/* La demande personnalisée */
function my_custom($data) {
var_dump($data);

$result = array(
'result' => 1001,
'data_modified' => "mes données personnalisées",
);

return
$result;
}

$data = "mes données personnalisées";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

Résultat de l'exemple ci-dessus est similaire à :

resource(4) of type (EIO Request Descriptor)
string(14) "mes données personnalisées"
string(14) "mes données personnalisées"
int(2)
string(14) "mes données personnalisées"
int(1001)
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top