Üreteç Fonksiyon (yield)

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

Leave a Comment

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.