Php yield
Php yield

Php yield fonksiyonda yapılan işlemleri devam ettirmemize yarar. Ayrıca büyük işlemlerde performans sağlar. Kısaca sıları işlemleri daha pratik yapmamızı sağlar. Ve ciddi performans sağlar.
function say($baslangic,$limit){
for($x=$baslangic; $x<= $limit ; $x++){
yield $x;
}
}
$sayilar = say(0,100);
foreach($sayilar as $yaz){
echo $yaz.' <br> ';
}
/* çıktımız :
0
1
2
3
4
5
6
7
8
9
10
*/
Tabi yield asıl farkı bu işlemden ziyade sunucu da ki ram (memory) limitine etkisi.
Örnek :
function say($baslangic,$limit){
for($x=$baslangic; $x<= $limit ; $x++){
yield $x;
}
}
$sayilar = say(0,1000000);
foreach($sayilar as $yaz){
// echo $yaz.' <br> '; // yazmaya gerek yok sonuç değişmiyor denedim :)
}
echo memory_get_usage().' <br> '; // 395120 Byte
$sayy = range(0,1000000);
echo memory_get_usage().' <br> '; // 33953728 Byte aralarında ciddi persformans farkı var.
Tepkiniz Nedir?






