# Generator::send

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::send — Envoi une valeur au générateur

### Description

public Generator::send(mixed `$value`): mixed

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.

### Valeurs de retour

Retourne la valeur cédée.

### Exemples

Exemple #1 Exemple d'utilisation Generator::send() pour injecter des données

`<?php
function printer() {
echo "I'm printer!".PHP_EOL;
while (true) {
$string = yield;
echo $string;
}
}
$printer = printer();
$printer->send('Hello world!');
$printer->send('Bye world!');
?>`

L'exemple ci-dessus va afficher :

    I'm printer!
    Hello world!
    Bye world!