Generator::send
(PHP 5 >= 5.5.0)
Generator::send — Envoi une valeur au générateur
Description
Envoi la valeur fournie au générateur comme résultat de l'expression courante yield, et reprend l'exécution du générateur.
Si le générateur n'est pas une expression yield lorsque cette méthode est appelée, il va d'abord avancer à la première expression yield avant d'envoyer la valeur. Ainsi, il n'est pas nécessaire de démarrer un générateur PHP avec un appel à la méthode Generator::next() (comme c'est le cas en Python).
Liste de paramètres
-
value -
Valeur à envoyer au générateur. Cette valeur sera la valeur retournée de l'expression yield de la position courante du générateur.
Exemples
Exemple #1 Exemple d'utilisation Generator::send() pour injecter des données
<?php
function printer() {
while (true) {
$string = yield;
echo $string;
}
}
$printer = printer();
$printer->send('Hello world!');
$printer->send('Bye world!');
?>
L'exemple ci-dessus va afficher :
Hello world! Bye world!
Valeurs de retour
Retourne la valeur cédée.