Envoie une valeur au générateur

# Generator::send

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

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

### Description

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

Envoie 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 de Generator::send() pour injecter des données

    <?php
    function printer() {
        echo "Je suis une imprimante !".PHP_EOL;
        while (true) {
            $string = yield;
            echo $string.PHP_EOL;
        }
    }

    $printer = printer();
    $printer->send('Bonjour le monde !');
    $printer->send('Au revoir le monde !');
    ?>

L'exemple ci-dessus va afficher :

    Je suis une imprimante !
    Bonjour le monde !
    Au revoir le monde !

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open