PHP

Üreteç Fonksiyon (yield)

Yazar - UĞUR

Üreteç fonksiyonu, normal bir fonksiyon gibi görünür fakat üreteç fonksiyon tek bir değer döndürmek yerine ihtiyaç duyulduğu kadar çok değer üretir (yield).
Üreteç fonksiyonunun kalbi yield sözcüğüdür. En basit halinde, bir yield deyimi çoğunlukla bir return deyimi gibi görünür. fonksiyonun çalışmasını durdurmak ve değer döndürmek yerine, yield, üreteç fonksiyon üzerindeki kod döngüsüne bir değer verir ve üreteç fonksiyonunu bekletir.

function gen_one_to_three() {
    for ($i = 1; $i <= 3; $i++) {
        // yield'ler arasında $i korunur.
        yield $i;
    }
}

$generator = gen_one_to_three();
foreach ($generator as $value) {
    echo "$value\n";
}

Normal bir fonksiyon ve dizi değişken ile yapabileceğimiz bir işi yield ile yapmamızın sebebi performans farkıdır.

Üreteç fonksiyonlar büyüyen projelerde performans sorunlarını çözmek için kullanılır.

Yorum Yap

This site uses Akismet to reduce spam. Learn how your comment data is processed.