Generator::send

(PHP 5 >= 5.5.0, PHP 7)

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

Açıklama

public Generator::send ( mixed $değer ) : 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

değer

Ü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!