yield
ifadesi, PHP'de kullanılan bir özelliktir ve özellikle generator fonksiyonlarında kullanılır. Generator fonksiyonları, değerleri tek tek üretebilen ve bellek kullanımını minimize eden özel bir fonksiyon türüdür. yield
ifadesi, fonksiyonun çalışmasını duraklatır ve bir değeri çağıran koda döndürür, ancak fonksiyonun durumunu korur.
İşte basit bir generator fonksiyonu örneği:
function sayilariUret($baslangic, $limit) {
for ($i = $baslangic; $i <= $limit; $i++) {
yield $i;
}
}
// Generator fonksiyonu çağırma
$generator = sayilariUret(1, 5);
// Değerleri almak için foreach döngüsü kullanma
foreach ($generator as $sayi) {
echo $sayi . "
";
}
Bu örnekte, sayilariUret
adlı bir generator fonksiyonu tanımlanmıştır. Fonksiyon, yield
ifadesini kullanarak her çağrıldığında bir değer üretir. Ardından, bu generator fonksiyonunu bir döngü içinde çağırarak üretilen değerlere erişilir.
yield
ifadesi, fonksiyonun her çağrıldığında duraklamasını sağlar ve fonksiyonun içindeki durumu korur. Bu, büyük miktarda veri üreteceğiniz durumlarda bellek kullanımını optimize etmek için kullanışlıdır.