Generator
PHP Manual

Generator::send

(PHP 5 >= 5.5.0, PHP 7)

Generator::sendEnvia um valor ao gerador

Descrição

public mixed Generator::send ( mixed $value )

Envia o valor informado ao gerador como resultado da expressão yield corrente e retorna a execução do gerador.

Se o gerador não estiver na expressão yield quando o método for chamado, primeiro será deixado avançar para a primeira expressão yield antes de enviar o valor. Assim como não é necessário "forçar" os geradores do PHP com uma chamada ao método Generator::next() (como é feito em Python).

Parâmetros

value

Valor a ser enviado ao gerador. Este valor será o retornado pela expressão yield em que o gerador estiver.

Valor Retornado

Retorna o valor gerado.

Exemplos

Exemplo #1 Usando o método Generator::send() para injetar valores

<?php
function printer() {
    while (
true) {
        
$string yield;
        echo 
$string;
    }
}

$printer printer();
$printer->send('Hello world!');
$printer->send('Bye world!');
?>

O exemplo acima irá imprimir:

Hello world!
Bye world!


Generator
PHP Manual