Generator::send

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

Generator::sendÜretece bir değer gönderir

Açıklama

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

Geçerli yield ifadesinin sonucu olarak belirtilen değeri gönderir ve üretecin kaldığı yerden devam etmesini sağlar.

Bu yöntem çağrıldığında üreteç bir yield ifadesinde değilse, değeri göndermeden önce üreteci ilk yield ifadesine ilerletir. Yani, PHP üretecini bir Generator::next() çağrısıyla "iteklemek" gerekmez(Python'da yapıldığı gibi).

Değiştirgeler

value

Üretece gönderilecek değer. Bu değer üretecin geçerli yield ifadesinin dönüş değeri olacaktır.

Dönen Değerler

yield ifadesinin sonucu ile döner.

Örnekler

Örnek 1 - Değer yerleştirmek içinGenerator::send() kullanımı

<?php
function printer() {
    echo 
"Ben yazıcıyım!".PHP_EOL;
    while (
true) {
        
$string = yield;
        echo 
$string.PHP_EOL;
    }
}

$printer printer();
$printer->send('Merhaba Dünya!');
$printer->send('Elveda Dünya!');
?>

Yukarıdaki örneğin çıktısı:

Ben yazıcıyım!
Merhaba Dünya!
Elveda Dünya!