(PHP 5 >= 5.5.0, PHP 7)
Generator::send — Üretece bir değer gönderir
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ğer
Üretece gönderilecek değer. Bu değer üretecin geçerli yield ifadesinin dönüş değeri olacaktır.
yield ifadesinin sonucu ile döner.
Ö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!