(PHP 5 >= 5.5.0, PHP 7)
Generator::send — Envoi une valeur au générateur
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).
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.
Retourne la valeur cédée.
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!