Middle
Kako radi generator u PHP-u?
sobes.tech АИ
Одговор од АИ
Generator je funkcija koja vraća iterator. Omogućava prolazak kroz skup podataka bez učitavanja celokupnog niza u memoriju, koristeći ključnu reč yield. Pri svakom pozivu yield, izvršavanje funkcije se zaustavlja, vraća se vrednost i stanje funkcije se čuva. Pri sledećem pozivu next(), izvršavanje iteratora se nastavlja od mesta gde je prekinuto.
<?php
function numberGenerator($limit) {
for ($i = 1; $i <= $limit; $i++) {
yield $i; // Zaustavlja izvršavanje i vraća vrednost
}
}
$numbers = numberGenerator(5);
foreach ($numbers as $number) {
echo $number . " "; // Prikazuje: 1 2 3 4 5
}
?>
Prednosti:
- Ušteda memorije: Omogućava obradu velikih količina podataka bez njihovog potpunog učitavanja u memoriju.
- Leno učitavanje: Vrednosti se generišu na zahtev, kada su potrebne.
- Poboljšanje performansi za određene zadatke, kao što je čitanje velikih fajlova.
Koristi se za iteraciju kroz velike kolekcije, čitanje fajlova red po red, implementaciju beskonačnih sekvenci.